Skip to content

Release binary jobs no longer race each other or publish stray artifacts - #128

Merged
MelbourneDeveloper merged 1 commit into
mainfrom
fix/release-sbom-race
Oct 13, 2026
Merged

MelbourneDeveloper merged 1 commit into
mainfrom
fix/release-sbom-race

Conversation

@MelbourneDeveloper

Copy link
Copy Markdown
Collaborator

TLDR

Fix the release race that failed the v0.11.0-beta Windows LSP build, and stop release jobs publishing artifacts that belong to other jobs.

What Was Changed or Deleted?

  • The race: in release-binary-multiplatform.yml and release-dotnet-aot-multiplatform.yml, anchore/sbom-action attached its SBOM to the GitHub release whenever that release already existed. Now that the Native AOT DataProviderMigrate builds succeed, their publish job creates the release early. The slower Windows lql-lsp build then tried to replace an existing release asset with a read-only token: Resource not accessible by integration (run 38395147991).
    • Fix: upload-release-assets: false and upload-artifact: false on the SBOM step. Each archive's .cdx.json is already in the job's own artifact and attached by its publish job.
  • The stray artifacts: both publish jobs ran actions/download-artifact with no filter, so they downloaded every artifact in the release run. Deslop reports, the SBOM action's DataProvider-build.cyclonedx.json and the other binary family's archives ended up in the release assets and in each SHA256SUMS.
    • Fix: downloads are scoped with pattern: ${{ inputs.binary_name }}-*.

How Do The Automated Tests Prove It Works?

  • Workflow-only change; both files parse as YAML. The proof is the re-cut release v0.11.0-beta.1: every release-binaries and release-dotnet-binaries job must succeed, and each release asset set must contain only its own binaries, SBOMs and signed checksums.
  • v0.11.0-beta (run 38395147991) shows the failure and the stray deslop-report.* / DataProvider-build.cyclonedx.json assets this removes.

Breaking Changes

  • None

The SBOM step attached its file to the GitHub release whenever the release
already existed. Now that the Native AOT migrate binaries build quickly,
their publish job creates the release first, and the slower read-only
Windows LSP build failed replacing the asset. The publish jobs already
attach every SBOM, so the build step no longer uploads to the release or
as a separate workflow artifact.

Each publish job downloaded every artifact in the release run, putting
Deslop reports and the other binary family into its release assets and
checksums. Downloads are now scoped to the workflow's own binary_name.
@MelbourneDeveloper
MelbourneDeveloper enabled auto-merge (squash) October 13, 2026 12:33
@MelbourneDeveloper
MelbourneDeveloper merged commit 3209eaf into main Oct 13, 2026
11 checks passed
@MelbourneDeveloper
MelbourneDeveloper deleted the fix/release-sbom-race branch October 13, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant