From 44f099dcf111bdb180c15f954b9e4101798797cf Mon Sep 17 00:00:00 2001 From: Brandur Date: Thu, 8 Oct 2026 00:51:04 -0500 Subject: [PATCH] Fix convention of tags for Ruby releases We're trying to standard on a tag convention like: $LANGUAGE/$VERSION So for example: ruby/v0.14.0 We were still including an old Ruby tag format in our release instructions here, so get those patched up. I also remove "Breaking" from a few changelog entries for the last Ruby release because these are such infinitesimal breaking changes that they're really not even worth calling out as such. --- .github/workflows/ruby.yaml | 2 +- ruby/CHANGELOG.md | 8 ++++---- ruby/docs/development.md | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ruby.yaml b/.github/workflows/ruby.yaml index baa307091..a6af446c7 100644 --- a/.github/workflows/ruby.yaml +++ b/.github/workflows/ruby.yaml @@ -11,7 +11,7 @@ on: - "conformance/**" - "riverdriver/**/*.sql" - "ruby/**" - tags: ["riverqueue-ruby-v*"] + tags: ["ruby/v*"] pull_request: paths: - ".github/workflows/ruby.yaml" diff --git a/ruby/CHANGELOG.md b/ruby/CHANGELOG.md index 68d982fee..1381b2986 100644 --- a/ruby/CHANGELOG.md +++ b/ruby/CHANGELOG.md @@ -17,10 +17,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Ruby is now developed in the main [River repository](https://github.com/riverqueue/river/tree/master/ruby). Gem names and require paths are unchanged. The four public gems (`riverqueue`, `riverqueue-activerecord`, `riverqueue-sequel`, and `riverqueue-rails`) are released together. [PR #1463](https://github.com/riverqueue/river/pull/1463). -- **Breaking:** Job insertion accepts only `available`, `pending`, and `scheduled` states. `running`, `retryable`, and terminal states are rejected, including when set by insertion hooks. [PR #1463](https://github.com/riverqueue/river/pull/1463). -- **Breaking:** Insertion rejects queue names containing characters other than ASCII letters, digits, underscores, hyphens, colons, or periods. Nonzero `UniqueOpts#by_period` values must be at least one second. [PR #1463](https://github.com/riverqueue/river/pull/1463). -- **Breaking:** Attempt counts must be between 0 and 32,767, and `max_attempts` must be between 1 and 32,767. These bounds also apply on SQLite. `job_retry` raises `ArgumentError` when another attempt would exceed the limit. [PR #1463](https://github.com/riverqueue/river/pull/1463). -- **Breaking:** Job and queue metadata updates require a Hash; JSON-encoded strings are no longer accepted. Pass an empty Hash to clear metadata. Updates to `attempted_by` require string entries. [PR #1463](https://github.com/riverqueue/river/pull/1463). +- Job insertion accepts only `available`, `pending`, and `scheduled` states. `running`, `retryable`, and terminal states are rejected, including when set by insertion hooks. [PR #1463](https://github.com/riverqueue/river/pull/1463). +- Insertion rejects queue names containing characters other than ASCII letters, digits, underscores, hyphens, colons, or periods. Nonzero `UniqueOpts#by_period` values must be at least one second. [PR #1463](https://github.com/riverqueue/river/pull/1463). +- Attempt counts must be between 0 and 32,767, and `max_attempts` must be between 1 and 32,767. These bounds also apply on SQLite. `job_retry` raises `ArgumentError` when another attempt would exceed the limit. [PR #1463](https://github.com/riverqueue/river/pull/1463). +- Job and queue metadata updates require a Hash; JSON-encoded strings are no longer accepted. Pass an empty Hash to clear metadata. Updates to `attempted_by` require string entries. [PR #1463](https://github.com/riverqueue/river/pull/1463). ### Fixed diff --git a/ruby/docs/development.md b/ruby/docs/development.md index d19b93355..802d3457d 100644 --- a/ruby/docs/development.md +++ b/ruby/docs/development.md @@ -146,8 +146,8 @@ repository. Follow its README; do not include it in the public release below. 2. Update `CHANGELOG.md` to include the new version and open a pull request with those changes and the ones to the gemspecs and `Gemfile.lock`s above. 3. After the PR is merged, pull master and rebuild all gems with `make build`. - Push those rebuilt archives, then tag the release with the Ruby-specific prefix - (plain `v*` tags are reserved for Go): + Push those rebuilt archives, then tag the release with the `ruby/` language + prefix, for example `ruby/v0.13.0` (plain `v*` tags are reserved for Go): ```shell git pull origin master @@ -158,8 +158,8 @@ repository. Follow its README; do not include it in the public release below. pushd driver/riverqueue-sequel && gem push riverqueue-sequel-${VERSION#v}.gem && popd pushd rails/riverqueue-rails && gem push riverqueue-rails-${VERSION#v}.gem && popd - git tag riverqueue-ruby-$VERSION - git push origin riverqueue-ruby-$VERSION + git tag ruby/$VERSION + git push origin ruby/$VERSION ``` 4. Cut a new GitHub release by visiting [new release](https://github.com/riverqueue/river/releases/new), selecting the new tag, and copying in the version's `CHANGELOG.md` content as the release body.