diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml new file mode 100644 index 0000000..c50dec8 --- /dev/null +++ b/.github/workflows/dev.yml @@ -0,0 +1,53 @@ +name: Deploy Images to GHCR + +on: + push: + branches: [ "dev" ] + +jobs: + unit-tests: + runs-on: ubuntu-latest + defaults: + run: + working-directory: './src/utils/' + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Install pip and pytest + run: | + python -m pip install --upgrade pip + pip install pytest pytest-cov + - name: Test with pytest + run: | + pytest test_nest_functions.py -vv + - name: show branch name + run: echo ${GITHUB_REF##*/} + + build-dev: + # if: github.ref == 'refs/heads/dev' + needs: unit-tests + runs-on: ubuntu-latest + defaults: + run: + working-directory: '.' + steps: + - name: 'Checkout GitHub Action' + uses: actions/checkout@main + + - name: 'Login to GitHub Container Registry' + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{github.actor}} + password: ${{secrets.GITHUB_TOKEN}} + + - name: "Build, Tag, and push the Docker image" + env: + IMAGE_NAME: ghcr.io/manimatter/decluttarr + IMAGE_TAG: dev + run: | + docker build -f docker/Dockerfile -t $IMAGE_NAME:$IMAGE_TAG . + docker push $IMAGE_NAME:$IMAGE_TAG diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..b42e4bd --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,102 @@ +name: Deploy Images to GHCR + +on: + pull_request: + types: + - closed + branches: + - main + +jobs: + # unit-tests: + # if: github.event.pull_request.merged == true + # runs-on: ubuntu-latest + # defaults: + # run: + # working-directory: './src/utils/' + # steps: + # - uses: actions/checkout@v4 + # - name: Set up Python + # uses: actions/setup-python@v4 + # with: + # python-version: '3.x' + # - name: Install pip and pytest + # run: | + # python -m pip install --upgrade pip + # pip install pytest pytest-cov + # - name: Test with pytest + # run: | + # pytest test_nest_functions.py -vv + # - name: show branch name + # run: echo ${GITHUB_REF##*/} + + build-main: + # if: github.ref == 'refs/heads/main' + # needs: unit-tests + runs-on: ubuntu-latest + defaults: + run: + working-directory: '.' + steps: + - name: 'Checkout GitHub Action' + uses: actions/checkout@main + + - name: 'Login to GitHub Container Registry' + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{github.actor}} + password: ${{secrets.GITHUB_TOKEN}} + + - uses: actions/checkout@v2 + with: + fetch-depth: '0' + + - name: Bump version and push tag + uses: anothrNick/github-tag-action@1.36.0 + id: setversion + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + WITH_V: true + + - name: "Build, Tag, and push the Docker image" + env: + IMAGE_NAME: ghcr.io/manimatter/decluttarr + IMAGE_TAG: ${{ steps.setversion.outputs.new_tag }} + run: | + docker build -f docker/Dockerfile -t $IMAGE_NAME:$IMAGE_TAG . + docker push $IMAGE_NAME:$IMAGE_TAG + + - name: "Build, Tag, and push the Docker image" + env: + IMAGE_NAME: ghcr.io/manimatter/decluttarr + IMAGE_TAG: latest + run: | + docker build -f docker/Dockerfile -t $IMAGE_NAME:$IMAGE_TAG . + docker push $IMAGE_NAME:$IMAGE_TAG + + build-dev: + if: github.ref == 'refs/heads/dev' + needs: unit-tests + runs-on: ubuntu-latest + defaults: + run: + working-directory: '.' + steps: + - name: 'Checkout GitHub Action' + uses: actions/checkout@main + + - name: 'Login to GitHub Container Registry' + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{github.actor}} + password: ${{secrets.GITHUB_TOKEN}} + + - name: "Build, Tag, and push the Docker image" + env: + IMAGE_NAME: ghcr.io/manimatter/decluttarr + IMAGE_TAG: dev + run: | + docker build -f docker/Dockerfile -t $IMAGE_NAME:$IMAGE_TAG . + docker push $IMAGE_NAME:$IMAGE_TAG