Skip to content

Prepare release 99.99.99 - #515

Closed
GregoryTravis wants to merge 5 commits into
mainfrom
chore/release-99.99.99
Closed

Prepare release 99.99.99#515
GregoryTravis wants to merge 5 commits into
mainfrom
chore/release-99.99.99

Conversation

@GregoryTravis

Copy link
Copy Markdown
Contributor

Prepare release 99.99.99.

GregoryTravis and others added 5 commits August 3, 2026 13:56
Adds a script-driven release pipeline modeled on sdk-python
(scripts/prepare_release.py + .github/workflows/release-publish.yml).

Prep script (scripts/prepare_release.rb):
- Bumps Temporalio::VERSION in temporalio/lib/temporalio/version.rb
- Rolls CHANGELOG Unreleased into a dated [v<version>] section
  and re-seeds an empty Unreleased with the six standard headers
- Refreshes temporalio/Gemfile.lock via bundle lock
- Creates chore/release-<version> off origin/main, commits, pushes,
  and opens the prep PR via gh

Rollback script (scripts/rollback_release.rb):
- Cancels a pending Release Publish run (auto-discovered or --run-id)
- Reverts the merged "Prepare release <v>" commit on main via a
  chore/rollback-<v> PR
- Handles both merge-commit and squash-merge histories

Workflows:
- release-publish.yml: single workflow_dispatch on main. Reuses
  build-gems.yml, verifies version + changelog + full platform set,
  publishes via gems-publish.yml, smoke-tests from rubygems.org,
  creates a draft GitHub release
- gems-publish.yml: reusable workflow_call-only publish step, using
  RubyGems Trusted Publishing (OIDC). Only file in the repo that
  runs gem push. Gated by the rubygems GitHub environment
- build-gems.yml: added workflow_dispatch and workflow_call triggers
  alongside the existing push trigger

Helpers:
- .github/scripts/release_verify.rb: validate-version, changelog-notes,
  verify-dist subcommands used by release-publish.yml
- .github/actions/release-smoke-package: composite action for
  post-publish install-and-run smoke test

CHANGELOG: marks Breaking Changes with 💥 emoji per sdk-python
convention, including current Unreleased and historical v1.5.0
sections.

Tests: 21 prepare_release cases + 15 rollback_release cases,
100 assertions total, using stdlib minitest.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
# Conflicts:
#	.github/workflows/gems-publish.yml
#	.github/workflows/release-publish.yml
Allows the release branch to be based off a ref other than
origin/main. Immediate use: full pre-merge rehearsal of the release
automation (base the release branch off the automation branch itself,
since main doesn't yet contain the real prep script or release-publish
pipeline).

Also useful for future hotfix flows that branch a release off a
releases/* branch rather than main.

Refs must be in origin/BRANCH form; the script fetches the specified
branch from origin before creating the release branch off it. The
default remains origin/main.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@GregoryTravis
GregoryTravis requested a review from a team as a code owner August 4, 2026 14:49
@GregoryTravis
GregoryTravis deleted the chore/release-99.99.99 branch August 4, 2026 18:12
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