Skip to content

Commit b294b01

Browse files
backnotpropclaude
andcommitted
fix: Prevent SLSA generator from creating separate release
The slsa-github-generator with upload-assets: true was creating its own published release, leaving build assets in a draft release. This caused the finalize job to fail with 'tag_name already_exists'. **Changes**: - Remove upload-assets and upload-tag-name from provenance job - Add new upload-provenance job that downloads artifact and uploads to draft - Update checksums and finalize job dependencies **Root cause**: The generator creates a new release when upload-assets is true, instead of using the existing draft created by create-release job. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 44512f6 commit b294b01

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

.github/workflows/release.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -373,13 +373,33 @@ jobs:
373373
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
374374
with:
375375
base64-subjects: ${{ needs.combine-hashes.outputs.hashes }}
376-
upload-assets: true
377-
upload-tag-name: ${{ needs.create-release.outputs.version }}
376+
377+
# Upload provenance to release
378+
upload-provenance:
379+
name: Upload Provenance to Release
380+
needs: [create-release, provenance]
381+
runs-on: ubuntu-latest
382+
steps:
383+
- name: Download provenance
384+
uses: actions/download-artifact@v4
385+
with:
386+
name: ${{ needs.provenance.outputs.provenance-name }}
387+
path: .
388+
389+
- name: Upload provenance to release
390+
uses: actions/upload-release-asset@v1
391+
env:
392+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
393+
with:
394+
upload_url: ${{ needs.create-release.outputs.upload_url }}
395+
asset_path: ${{ needs.provenance.outputs.provenance-name }}
396+
asset_name: ${{ needs.provenance.outputs.provenance-name }}
397+
asset_content_type: application/json
378398

379399
# Generate combined checksums file
380400
checksums:
381401
name: Generate Combined Checksums
382-
needs: [create-release, build, provenance]
402+
needs: [create-release, build, upload-provenance]
383403
runs-on: ubuntu-latest
384404
steps:
385405
- name: Checkout code
@@ -419,7 +439,7 @@ jobs:
419439
# Finalize the release
420440
finalize:
421441
name: Finalize Release
422-
needs: [create-release, build, checksums, provenance]
442+
needs: [create-release, build, checksums, upload-provenance]
423443
runs-on: ubuntu-latest
424444
steps:
425445
- name: Publish Release

0 commit comments

Comments
 (0)