From a85e03ec9e94711f96bd3c6698076655e6d93380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gre=CC=81goire=20Compagnon?= Date: Sat, 17 Dec 2022 22:48:55 +0100 Subject: [PATCH] Refactoring, cleaning and debugging workflow --- .github/workflows/build-push-image.yaml | 29 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-push-image.yaml b/.github/workflows/build-push-image.yaml index 2772d44..2927f89 100644 --- a/.github/workflows/build-push-image.yaml +++ b/.github/workflows/build-push-image.yaml @@ -59,6 +59,12 @@ jobs: id: version run: echo "version=$(./winbox_version.sh)" >> $GITHUB_OUTPUT + - name: Parse semver string + id: semver_parser + uses: booxmedialtd/ws-action-parse-semver@v1 + with: + input_string: "${{ steps.version.outputs.version }}" + - name: Docker metadata id: meta uses: docker/metadata-action@v4 @@ -66,20 +72,21 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} images: ${{ env.IMAGES }} tags: | + type=raw,value=latest,enable=${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} type=ref,event=branch type=ref,event=pr - type=semver,pattern={{version}},value=${{ steps.version.outputs.version }} - type=semver,pattern={{major}}.{{minor}},value=${{ steps.version.outputs.version }} - type=semver,pattern={{major}},value=${{ steps.version.outputs.version }} - type=semver,pattern=v{{version}},value=${{ steps.version.outputs.version }} - type=semver,pattern=v{{major}}.{{minor}},value=${{ steps.version.outputs.version }} - type=semver,pattern=v{{major}},value=${{ steps.version.outputs.version }} + type=raw,value=${{ steps.semver_parser.outputs.major }},enable=${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} + type=raw,value=${{ steps.semver_parser.outputs.major }}.${{ steps.semver_parser.outputs.minor }},enable=${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} + type=raw,value=${{ steps.semver_parser.outputs.major }}.${{ steps.semver_parser.outputs.minor }}.${{ steps.semver_parser.outputs.patch }},enable=${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} + type=raw,value=v${{ steps.semver_parser.outputs.major }},enable=${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} + type=raw,value=v${{ steps.semver_parser.outputs.major }}.${{ steps.semver_parser.outputs.minor }},enable=${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} + type=raw,value=v${{ steps.semver_parser.outputs.major }}.${{ steps.semver_parser.outputs.minor }}.${{ steps.semver_parser.outputs.patch }},enable=${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} - name: Publish image id: push uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a with: - push: ${{ github.event_name != 'pull_request' }} + push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} pull: true @@ -89,11 +96,13 @@ jobs: - name: Sign the images with GitHub OIDC Token run: | set -e - for image in "${TAGS}"; do - yes | cosign sign ${image}@${DIGEST} + + # In variables, "%%*( )" trim whitespace at beggining and end of variable + for image in ${IMAGES}; do + yes | cosign sign "${image%%*( )}@${DIGEST%%*( )}" done env: TAGS: ${{ steps.meta.outputs.tags }} DIGEST: ${{ steps.push.outputs.digest }} COSIGN_EXPERIMENTAL: true - if: github.event_name != 'pull_request' + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'