name: Push Container on: workflow_run: workflows: ["Linting"] branches: - main types: - completed jobs: build: runs-on: ubuntu-latest if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' name: Build & Push Container steps: # Create a commit SHA-based tag for the container repositories - name: Create SHA Container Tag id: sha_tag run: | tag=$(cut -c 1-7 <<< $GITHUB_SHA) echo "::set-output name=tag::$tag" # Check out the current repository in the `cloudflare-ddns-docker` subdirectory - name: Checkout code uses: actions/checkout@v2 with: path: cloudflare-ddns-docker - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to Github Container Registry uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GHCR_TOKEN }} # Build and push the container to the GitHub Container # Repository. The container will be tagged as "latest" # and with the short SHA of the commit. - name: Build and push uses: docker/build-push-action@v2 with: context: cloudflare-ddns-docker/ file: cloudflare-ddns-docker/Dockerfile push: true cache-from: type=registry,ref=ghcr.io/akarys42/cloudflare-ddns-docker:latest cache-to: type=inline tags: | ghcr.io/akarys42/cloudflare-ddns-docker:latest ghcr.io/akarys42/cloudflare-ddns-docker:${{ steps.sha_tag.outputs.tag }} build-args: | git_sha=${{ github.sha }}