Skip to content

fix(release): use draft releases to prevent binary race condition#2347

Merged
dividedmind merged 1 commit intomainfrom
chore/draft-releases
Feb 10, 2026
Merged

fix(release): use draft releases to prevent binary race condition#2347
dividedmind merged 1 commit intomainfrom
chore/draft-releases

Conversation

@dividedmind
Copy link
Collaborator

Clients querying the GitHub API could see releases before native binaries were attached, leading to potential download failures.

Changes:

  • Create draft releases for @appland/appmap and @appland/scanner
  • Publish drafts after all native binaries are uploaded
  • Skip GitHub releases entirely for packages without native binaries

Clients querying the GitHub API could see releases before native binaries
were attached, leading to potential download failures. Changes:

- Create draft releases for @appland/appmap and @appland/scanner
- Publish drafts after all native binaries are uploaded
- Skip GitHub releases entirely for packages without native binaries
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a race condition where GitHub API clients could see releases before native binaries were attached, potentially causing download failures. The solution creates draft releases for packages with native binaries and publishes them only after all binaries are uploaded.

Changes:

  • Modified semantic-release configuration to conditionally create draft GitHub releases only for packages with native binaries (@appland/appmap and @appland/scanner)
  • Added workflow steps to publish draft releases after all native binaries are uploaded
  • Packages without native binaries now skip GitHub releases entirely and only create git tags

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
.releaserc.js Refactored to conditionally add GitHub plugin with draft release option only for packages with native binaries; other packages skip GitHub releases
.github/workflows/build-native.yml Added step to publish draft release after all binaries are uploaded and npm package is tagged
.github/workflows/build-native-scanner.yml Added step to publish draft release after all binaries are uploaded and npm package is tagged

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dividedmind dividedmind merged commit ed8c7e7 into main Feb 10, 2026
35 checks passed
@dividedmind dividedmind deleted the chore/draft-releases branch February 10, 2026 10:15
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