fix(workflow): ensure Publish runs by marking build result unconditionally

The publish job was skipped because the build jobs never set their `built` output. A failed earlier step combined with job-level `continue-on-error` caused `success()` to evaluate false, so the “Mark build success” step did not run and outputs were empty. Removed job-level `continue-on-error` and replaced the marker step with an `always()`-gated step that derives `built` from `docker/build-push-action`’s `digest` output. Mirrored this in the self-hosted fallback. Kept `permissions: contents: write` for release creation. No functional changes elsewhere.
This commit is contained in:
clsferguson 2025-10-10 21:37:58 -06:00 committed by GitHub
parent 02f4e49f90
commit b59e789284
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -78,7 +78,6 @@ jobs:
needs: check-upstream
if: needs.check-upstream.outputs.new_version != 'none'
runs-on: ubuntu-latest
continue-on-error: true
outputs:
built: ${{ steps.mark.outputs.built }}
digest: ${{ steps.build.outputs.digest }}
@ -182,10 +181,16 @@ jobs:
${{ env.IMAGE_NAME }}:${{ needs.check-upstream.outputs.new_version }}
${{ env.IMAGE_NAME }}:latest
- name: Mark build success
- name: Mark build result
id: mark
if: ${{ success() && steps.build.outputs.digest != '' }}
run: echo "built=true" >> "$GITHUB_OUTPUT"
if: ${{ always() }}
shell: bash
run: |
if [ -n "${{ steps.build.outputs.digest }}" ]; then
echo "built=true" >> "$GITHUB_OUTPUT"
else
echo "built=false" >> "$GITHUB_OUTPUT"
fi
build-self:
name: Build on Self-Hosted (fallback)
@ -272,10 +277,16 @@ jobs:
${{ env.IMAGE_NAME }}:${{ needs.check-upstream.outputs.new_version }}
${{ env.IMAGE_NAME }}:latest
- name: Mark build success
- name: Mark build result
id: mark
if: ${{ success() && steps.build.outputs.digest != '' }}
run: echo "built=true" >> "$GITHUB_OUTPUT"
if: ${{ always() }}
shell: bash
run: |
if [ -n "${{ steps.build.outputs.digest }}" ]; then
echo "built=true" >> "$GITHUB_OUTPUT"
else
echo "built=false" >> "$GITHUB_OUTPUT"
fi
- name: Remove BuildKit image (moby/buildkit)
if: ${{ always() }}