name: Build and Push Docker Image on: workflow_dispatch: permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Compute image tag id: tag run: | BRANCH="${{ gitea.ref_name }}" if [ "$BRANCH" = "main" ]; then TAG="latest" elif [[ "$BRANCH" == v* ]]; then TAG="$BRANCH" else TAG="test" fi echo "tag=$TAG" >> "$GITEA_OUTPUT" echo "branch=$BRANCH" >> "$GITEA_OUTPUT" - name: Build and push uses: docker/build-push-action@v6 with: context: . push: true tags: blinkfink182/qbt-gluetun-portmgr:${{ steps.tag.outputs.tag }} - name: Notify Apprise (success) if: success() run: | curl -X POST \ -H "Content-Type: application/json" \ -d "{ \"tags\": \"all\", \"title\": \"Gitea Build Succeeded\", \"body\": \"Repo: ${{ gitea.repository }}\\nBranch: ${{ steps.tag.outputs.branch }}\\nImage tag built successfully\" }" \ ${{ secrets.APPRISE_URL }} - name: Notify Apprise (failure) if: failure() run: | curl -X POST \ -H "Content-Type: application/json" \ -d "{ \"tags\": \"all\", \"title\": \"Gitea Build Failed\", \"body\": \"Repo: ${{ gitea.repository }}\\nBranch: ${{ steps.tag.outputs.branch }}\\nCheck logs in Gitea\" }" \ ${{ secrets.APPRISE_URL }}