name: Deploy Images to GHCR on: push: branches: [ "main", "dev" ] jobs: unit-tests: runs-on: ubuntu-latest defaults: run: working-directory: '.' steps: - uses: actions/checkout@v4 # - name: show branch name # run: echo ${GITHUB_REF##*/} - name: show current path run: | echo ${{ github.workspace }} ls -ahl - 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 pip install -r docker/requirements.txt - name: Test with pytest run: | pytest ./src/utils/test_nest_functions.py -vv 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