Skip to content

ci: reconcile release workflows with the development repository - #219

Merged
suchintan merged 1 commit into
mainfrom
reconcile-release-workflows
Aug 6, 2026
Merged

ci: reconcile release workflows with the development repository#219
suchintan merged 1 commit into
mainfrom
reconcile-release-workflows

Conversation

@suchintan

Copy link
Copy Markdown
Member

The release workflows here and in the development repository are maintained by hand and had drifted in both directions. Releases are cut from tags on this repository, so these are the copies that actually run.

This applies the union of both sides' fixes to the three files that differed:

  • release-gem.yml — compare versions as parsed Gem::Version values. RubyGems rewrites a SemVer prerelease (0.3.0-beta.1 becomes 0.3.0.pre.beta.1), so the current raw-string comparison would abort the next prerelease gem release with a false "versions do not match".
  • release-maven.yml — newer pinned actions/setup-java (v5.6.0).
  • release-nuget.yml — spacing normalization only.

The matching change on the development side has already merged, leaving the shared workflow files byte-identical in both repositories. release-npm.yml and release-pypi.yml already matched.

🤖 Generated with Claude Code

These workflows are maintained by hand in two repositories and had
drifted in both directions. This brings this repository to the union of
the fixes: parsed Gem::Version comparison in release-gem.yml (RubyGems
rewrites SemVer prereleases, so raw-string comparison false-negatives on
the next prerelease tag), the setup-java v5.6.0 pin in release-maven.yml,
and a spacing normalization in release-nuget.yml.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@claude

claude Bot commented Aug 6, 2026

Copy link
Copy Markdown

Summary

Small, well-scoped CI-only change reconciling release workflows with the development repo. The gem version-comparison fix is correct and the accompanying comments clearly explain the reasoning; Maven/NuGet changes are trivial. No core (Rust/Python/Node) code is touched, so most FFI/CDP/security review categories don't apply here.

🔴 Critical Issues (0)

None found.

🟡 Suggestions (1)
  • release-gem.yml: Gem::Version.new(cargo_version) will raise ArgumentError (uncaught, since the script runs under set -euo pipefail) if Cargo.toml's version string is ever malformed or empty (e.g. the regex extraction fails and cargo_version is nil). Not a regression from this PR, but since the line is being touched anyway, consider guarding with abort 'Unable to parse Cargo.toml version' before constructing Gem::Version.new for a clearer failure message than a raw Ruby backtrace.
📝 Minor / Style (1)
  • The PR description mentions the matching change already merged in the development repo, and that release-npm.yml/release-pypi.yml already matched — nice due diligence. No action needed, just confirming that's reflected in the diff (only the 3 files listed are touched).

@suchintan
suchintan merged commit 4754b89 into main Aug 6, 2026
12 of 14 checks passed
@suchintan
suchintan deleted the reconcile-release-workflows branch August 6, 2026 01:02
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