From e231831dead37d61eb6ada05c2c6ac78294ccbb3 Mon Sep 17 00:00:00 2001 From: Christoph Kepler Date: Thu, 28 Oct 2021 19:17:18 +0200 Subject: [PATCH] Run separate steps for tags on the end This enables the json manipulation to be run only once for rolling releases. Another run or metadata and the dev flag disabling is done extra --- .github/workflows/docker.yml | 59 +++++++++++++++--------------------- 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c9fd08a3..4d6521ec 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -51,22 +51,13 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata for Docker for tag - id: meta_tag - if: startsWith(github.ref, 'refs/tags/v') - uses: docker/metadata-action@v3 - with: - images: ${{ env.REGISTRY }}/${{ github.repository }} - tags: | - type=ref,event=tag - - - name: Extract metadata for Docker on branch - id: meta_edge - if: false == startsWith(github.ref, 'refs/tags/v') + - name: Extract metadata for Docker + id: meta uses: docker/metadata-action@v3 with: images: ${{ env.REGISTRY }}/${{ github.repository }} tags: | + type=ref,event=tag,priority=400 type=sha,prefix=,priority=200 type=edge,priority=100 @@ -79,27 +70,38 @@ jobs: with: files: "package.json" env: + version: ${{ steps.meta.outputs.version }} releaseDate: ${{ steps.build_time.outputs.time }} repository.url: "git+${{ github.server_url }}/${{ github.repository }}.git" bugs.url: "${{ github.server_url }}/${{ github.repository }}/issues" homepage: "${{ github.server_url }}/${{ github.repository }}#readme" - - name: Disable dev flag and set package version for tag + - name: Build and push Docker image on branch + if: false == startsWith(github.ref, 'refs/tags/v') + uses: docker/build-push-action@v2 + with: + push: true + context: . + file: dev/build/Dockerfile + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Extract metadata for Docker for tag + id: metatag if: startsWith(github.ref, 'refs/tags/v') - uses: microsoft/variable-substitution@v1 + uses: docker/metadata-action@v3 with: - files: "package.json" - env: - dev: "false" - version: ${{ steps.meta_tag.outputs.version }} + images: ${{ env.REGISTRY }}/${{ github.repository }} + tags: | + type=ref,event=tag - - name: Set package version for branch - if: false == startsWith(github.ref, 'refs/tags/v') + - name: Set dev flag to false in package.json for tag + if: startsWith(github.ref, 'refs/tags/v') uses: microsoft/variable-substitution@v1 with: files: "package.json" env: - version: ${{ steps.meta_edge.outputs.version }} + dev: "false" - name: Build and push Docker image for tag if: startsWith(github.ref, 'refs/tags/v') @@ -108,16 +110,5 @@ jobs: push: true context: . file: dev/build/Dockerfile - tags: ${{ steps.meta_tag.outputs.tags }} - labels: ${{ steps.meta_tag.outputs.labels }} - - - - name: Build and push Docker image on branch - if: false == startsWith(github.ref, 'refs/tags/v') - uses: docker/build-push-action@v2 - with: - push: true - context: . - file: dev/build/Dockerfile - tags: ${{ steps.meta_edge.outputs.tags }} - labels: ${{ steps.meta_edge.outputs.labels }} + tags: ${{ steps.metatag.outputs.tags }} + labels: ${{ steps.metatag.outputs.labels }}