From a87328edbf19f762dce709da235bf74f6de3535f Mon Sep 17 00:00:00 2001 From: k-candidate Date: Mon, 23 Mar 2026 13:05:46 +0100 Subject: [PATCH] fix: add trigger for docker bake --- .github/workflows/docker-bake.yaml | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-bake.yaml b/.github/workflows/docker-bake.yaml index 9ea4c8d..7a5bf2c 100644 --- a/.github/workflows/docker-bake.yaml +++ b/.github/workflows/docker-bake.yaml @@ -7,21 +7,42 @@ on: description: 'Version (auto-filled on release)' required: false default: '' + workflow_run: + workflows: ["Release"] + types: [completed] + branches: + - main release: types: [published] jobs: determine-version: + if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest outputs: version: ${{ steps.set-version.outputs.version }} steps: + - name: Checkout tagged commit + if: ${{ github.event_name == 'workflow_run' }} + uses: actions/checkout@v6 + with: + ref: ${{ github.event.workflow_run.head_sha }} + fetch-depth: 0 + - id: set-version + shell: bash run: | if [ "${{ github.event_name }}" = "release" ]; then - echo "version=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT + echo "version=${{ github.event.release.tag_name }}" >> "$GITHUB_OUTPUT" + elif [ "${{ github.event_name }}" = "workflow_run" ]; then + tag=$(git tag --points-at "${{ github.event.workflow_run.head_sha }}" | sort -V | tail -n1) + if [ -z "$tag" ]; then + echo "No tag found for workflow_run SHA ${{ github.event.workflow_run.head_sha }}" >&2 + exit 1 + fi + echo "version=$tag" >> "$GITHUB_OUTPUT" else - echo "version=${{ github.event.inputs.version || 'manually-triggered' }}" >> $GITHUB_OUTPUT + echo "version=${{ github.event.inputs.version || 'manually-triggered' }}" >> "$GITHUB_OUTPUT" fi bake: @@ -32,4 +53,4 @@ jobs: dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }} with: bake-file: ./docker-bake.hcl - version: ${{ needs.determine-version.outputs.version }} \ No newline at end of file + version: ${{ needs.determine-version.outputs.version }}