Skip to content

Automate Java SDK releases - #3127

Open
eamsden wants to merge 11 commits into
mainfrom
eamsden/simple-release-automation
Open

eamsden wants to merge 11 commits into
mainfrom
eamsden/simple-release-automation

Conversation

@eamsden

@eamsden eamsden commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

What changed?

  • Automate releases, triggered introducing new version headings in Changelog

Why?

We want to automate all releases. Java in particular ships the test server and footguns in the manual release pipelines have resulted in incidents breaking customer CI.

Breaking changes?

None.

Server PR

N/A.

Testing

  • .github/scripts/test-release.sh
  • ./gradlew --offline spotlessCheck
  • Parsed .github/workflows/release.yml with Ruby's YAML parser.
  • git diff --check origin/main...HEAD

@eamsden
eamsden marked this pull request as ready for review October 5, 2026 21:04
@eamsden
eamsden requested a review from a team as a code owner October 5, 2026 21:04
@eamsden
eamsden force-pushed the eamsden/simple-release-automation branch from ad858b5 to 3f32153 Compare October 5, 2026 21:56
@Quinn-With-Two-Ns

Copy link
Copy Markdown
Contributor

I did a AI assisted review and found a few issues

For a pull request, the workflow passes the current target branch SHA as BASE_SHA and the feature branch SHA as HEAD_SHA. The candidate script requires BASE_SHA to be an ancestor of HEAD_SHA. Once main advances after a feature branch is created, that condition is false even for a valid, mergeable PR. This also rejects ordinary PRs that only add notes under [Unreleased]. I reproduced this with a small Git repository: branch feature, advance main, add a changelog entry on feature, and run release.sh candidate with the two branch heads. It exits 1 with The base commit must be an ancestor of the release commit. The new test fixture uses a linear history and misses this case. I think this would impact us if we needed to do a patch release of old versions. The setup instructions say to restrict that environment to main but we should also be able to release from other branches for back-porting fixes .

@eamsden

eamsden commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

I think this would impact us if we needed to do a patch release of old versions. The setup instructions say to restrict that environment to main but we should also be able to release from other branches for back-porting fixes .

I checked the last time we did a branch release and it was quite a while ago, so I wasn't sure if we should support that out of the box. I can make sure it is supported though.

This branch has not been deployed

No deployments
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