From 5162242a1ea22ae4287b3920b270f7c9bfd51c3d Mon Sep 17 00:00:00 2001 From: Matteo Bertucci Date: Thu, 14 Jan 2021 09:52:18 +0100 Subject: [PATCH] Add push-container workflow --- .github/workflows/push-container.yml | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/push-container.yml diff --git a/.github/workflows/push-container.yml b/.github/workflows/push-container.yml new file mode 100644 index 0000000..e445920 --- /dev/null +++ b/.github/workflows/push-container.yml @@ -0,0 +1,57 @@ +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 }}