From d3e0ef651918145a03882ae76bbc3b16a44718d8 Mon Sep 17 00:00:00 2001 From: TwinProduction Date: Wed, 28 Jul 2021 22:25:25 -0400 Subject: [PATCH] Add workflow to publish latest on successful build --- .github/workflows/publish-latest.yml | 35 +++++++++++++++++++ .../{publish.yml => publish-release.yml} | 6 ++-- 2 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/publish-latest.yml rename .github/workflows/{publish.yml => publish-release.yml} (93%) diff --git a/.github/workflows/publish-latest.yml b/.github/workflows/publish-latest.yml new file mode 100644 index 00000000..2f003246 --- /dev/null +++ b/.github/workflows/publish-latest.yml @@ -0,0 +1,35 @@ +name: publish-latest +on: + workflow_run: + workflows: ["Build"] + types: [completed] +jobs: + publish-latest: + name: Publish latest + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + timeout-minutes: 30 + steps: + - name: Check out code + uses: actions/checkout@v2 + - name: Get image repository + run: echo IMAGE_REPOSITORY=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV + - name: Get the release + run: echo RELEASE=${GITHUB_REF/refs\/tags\//} >> $GITHUB_ENV + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to Docker Registry + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push docker image + uses: docker/build-push-action@v2 + with: + platforms: linux/amd64 + pull: true + push: true + tags: | + ${{ env.IMAGE_REPOSITORY }}:${{ env.RELEASE }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish-release.yml similarity index 93% rename from .github/workflows/publish.yml rename to .github/workflows/publish-release.yml index f5bec528..f43dc808 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish-release.yml @@ -1,10 +1,10 @@ -name: publish +name: publish-release on: release: types: [published] jobs: - build: - name: Publish + publish-release: + name: Publish release runs-on: ubuntu-latest timeout-minutes: 30 steps: