Skip to content

Consolidate SDK GitHub releases - #2305

Merged
stephentoub merged 3 commits into
mainfrom
stephentoub-unify-sdk-releases
Aug 11, 2026
Merged

Consolidate SDK GitHub releases#2305
stephentoub merged 3 commits into
mainfrom
stephentoub-unify-sdk-releases

Conversation

@stephentoub

Copy link
Copy Markdown
Collaborator

Publishing a single SDK version currently creates three GitHub Release records: the shared release plus separate Rust and Java releases. This consolidates them into one shared release so users have a single canonical place for release notes across all six SDK languages.

Changes

  • Stop creating Rust- and Java-specific GitHub Releases while retaining rust/v... and java/v... source tags for traceability and Java documentation deployment.
  • Require Java publication to succeed before creating the shared v... release.
  • Generate combined release notes that cover TypeScript, C#, Go, Python, Java, and Rust for both stable and prerelease versions.
  • Remove the obsolete Java release template and scoped changelog dispatch, and update the related Rust and secret documentation.

Validation

  • Compiled release-changelog with gh aw compile release-changelog --strict.
  • Parsed the changed GitHub Actions workflows as YAML and confirmed only the shared v... release creation remains.

Generated by Copilot

Create one shared GitHub Release for all SDK languages while retaining scoped Rust and Java source tags.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 01a9d0e3-0073-48f2-afae-de0398986669
Copilot AI balanced review requested due to automatic review settings August 10, 2026 16:58
@stephentoub
stephentoub requested a review from a team as a code owner August 10, 2026 16:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Consolidates SDK release records into one canonical GitHub Release across all six languages.

Changes:

  • Gates the shared release on Java publishing.
  • Retains language-specific source tags without separate releases.
  • Updates combined changelog generation and release documentation.
Show a summary per file
File Description
rust/RELEASING.md Documents unified releases.
rust/README.md Links to combined releases.
docs/developer-docs/secrets.md Updates Java token requirements.
.github/workflows/release-changelog.md Generates cross-language notes.
.github/workflows/release-changelog.lock.yml Regenerates the compiled workflow.
.github/workflows/publish.yml Gates and creates the shared release.
.github/workflows/java.notes.template Removes the obsolete Java template.
.github/workflows/java-publish-maven.yml Removes Java-specific release creation.

Review details

Tip

Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 8/8 changed files
  • Comments generated: 1
  • Review effort level: Balanced

Comment thread .github/workflows/publish.yml Outdated
Expose Maven publication success from the reusable Java workflow so documentation deployment failures do not suppress the shared SDK release.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 01a9d0e3-0073-48f2-afae-de0398986669
@stephentoub

Copy link
Copy Markdown
Collaborator Author

@edburns @tclem @MackinnonBuck @patniko any concerns? It's weird that we're currently publishing three releases every time we publish, where Java and Rust are each getting their own.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Review details

Resolved since last review (1)
  • .github/workflows/publish.yml#L383 — Resolved by @​stephentoub - This gates the shared release on the result of the entire reusable Java workflow, not just Maven…
Suppressed comments (2)

rust/RELEASING.md:20

  • Step 3 allows selecting unstable, but for that channel the workflow skips Rust, .NET, Python, and Java; only the Node.js publication runs. As written, the next step incorrectly promises that every selection publishes all SDKs and creates a release. Qualify this step for the release channels so the emergency instructions accurately describe unstable behavior.
4. The workflow publishes all SDKs at the shared computed version,
   tags `rust/vX.Y.Z` for source traceability, and creates one combined
   `vX.Y.Z` GitHub Release.

.github/workflows/release-changelog.md:82

  • This new rule conflicts with the later “Follow this style exactly” example and its key rule, which still says to prioritize TypeScript/C# snippets and only use Go/Python in limited cases, without accounting for Java or Rust. The agent can therefore continue applying the old four-language policy instead of choosing whichever of the six affected SDKs best illustrates a highlighted change. Please update the example and its key rules to reflect the combined six-language policy as well.
**Format for each highlighted feature** — use an `### Feature:` or `### Fix:` heading, a 1-2 sentence description explaining what it does and why it matters, and at least one short code snippet (max 3 lines). Cover all six SDKs—TypeScript, C#, Go, Python, Java, and Rust—in the combined release notes. Show code examples in the languages whose APIs best illustrate the change, and ensure every user-visible language-specific change appears either as a highlighted feature or under other changes.
  • Files reviewed: 8/8 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

Document the Node-only unstable channel and align changelog examples with the six-language release policy.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 01a9d0e3-0073-48f2-afae-de0398986669
@stephentoub
stephentoub merged commit e2cd7ad into main Aug 11, 2026
30 checks passed
@stephentoub
stephentoub deleted the stephentoub-unify-sdk-releases branch August 11, 2026 14:31
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.

2 participants