From 73b1814674509e8003d2b25be903edc1109966f4 Mon Sep 17 00:00:00 2001 From: Krise Date: Wed, 2 Aug 2023 20:54:07 +0000 Subject: [PATCH] fix: add docker tag to semantic release --- .github/workflows/docker-release.yml | 46 ------------------------ .github/workflows/release.yml | 2 ++ package.json | 7 ++++ pnpm-lock.yaml | 52 ++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 46 deletions(-) delete mode 100644 .github/workflows/docker-release.yml diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml deleted file mode 100644 index f182ae5..0000000 --- a/.github/workflows/docker-release.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Create and publish a Docker image - - -on: - push: - tags: - - "v*" - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - -jobs: - tag-image: - name: Tag release image version - runs-on: ubuntu-latest - - permissions: - contents: read - packages: write - - steps: - - name: Log in to the Container registry - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v3 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=ref,enable=true,priority=600,prefix=v,suffix=,event=tag - - - name: Set short git commit SHA - id: vars - run: | - calculatedSha=$(git rev-parse --short ${{ github.sha }}) - echo "::set-output name=short_sha::$calculatedSha" - - - name: Push image - run: | - docker image tag ${{ steps.meta.outputs.tags }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.vars.outputs.short_sha }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ba77fb9..0216f88 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,4 +91,6 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + SRCIMAGE: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.tags[0] }} + DSTIMAGE: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} run: npx semantic-release \ No newline at end of file diff --git a/package.json b/package.json index 3558e7f..3aab97e 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,12 @@ "dist/**" ] } + ], + [ + "@semantic-release/exec", + { + "tagImage": "docker tag ${SRCIMAGE} ${DSTIMAGE}:${nextRelease.version}" + } ] ], "preset": "angular" @@ -86,6 +92,7 @@ "@istanbuljs/nyc-config-typescript": "^1.0.2", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^10.0.1", + "@semantic-release/exec": "^6.0.3", "@semantic-release/github": "^9.0.4", "@semantic-release/npm": "^10.0.4", "@types/chai": "^4.3.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e0908cd..b1e0883 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,6 +46,9 @@ devDependencies: '@semantic-release/commit-analyzer': specifier: ^10.0.1 version: 10.0.1(semantic-release@21.0.7) + '@semantic-release/exec': + specifier: ^6.0.3 + version: 6.0.3(semantic-release@21.0.7) '@semantic-release/github': specifier: ^9.0.4 version: 9.0.4(semantic-release@21.0.7) @@ -1371,6 +1374,23 @@ packages: engines: {node: '>=18'} dev: true + /@semantic-release/exec@6.0.3(semantic-release@21.0.7): + resolution: {integrity: sha512-bxAq8vLOw76aV89vxxICecEa8jfaWwYITw6X74zzlO0mc/Bgieqx9kBRz9z96pHectiTAtsCwsQcUyLYWnp3VQ==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + debug: 4.3.4(supports-color@8.1.1) + execa: 5.1.1 + lodash: 4.17.21 + parse-json: 5.2.0 + semantic-release: 21.0.7 + transitivePeerDependencies: + - supports-color + dev: true + /@semantic-release/github@9.0.4(semantic-release@21.0.7): resolution: {integrity: sha512-kQCGFAsBErvCR6hzNuzu63cj4erQN2krm9zQlg8vl4j5X0mL0d/Ras0wmL5Gkr1TuSS2lweME7M4J5zvtDDDSA==} engines: {node: '>=18'} @@ -3733,6 +3753,21 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + /execa@7.1.1: resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} @@ -4356,6 +4391,11 @@ packages: - supports-color dev: true + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + /human-signals@4.3.1: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} @@ -5775,6 +5815,13 @@ packages: engines: {node: '>=14.16'} dev: true + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + /npm-run-path@5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7453,6 +7500,11 @@ packages: engines: {node: '>=8'} dev: true + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'}