Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .claude/skills/release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,15 @@ is safe; **merging it is the publish action**.
owner's explicit go-ahead.
2. **Bump**: `VERSION = 'X.Y.Z'`; CHANGELOG `## [X.Y.Z] - <today>` + empty `## [Unreleased]` + link
reference; `bin/changelog-notes X.Y.Z` prints the section.
3. **Verify**: `bundle exec rake compile`, `CI=1 bundle exec rspec`, `bundle exec rubocop`,
3. **Refresh the issue-template versions placeholder** in `.github/ISSUE_TEMPLATE/bug_report.yml`:
gem version from `lib/gem/ruby2html/version.rb`, Ruby version from `.ruby-version`, Rails version
from `Gemfile.lock`. GitHub issue forms cannot derive the value at fill time, so it is refreshed here.
4. **Verify**: `bundle exec rake compile`, `CI=1 bundle exec rspec`, `bundle exec rubocop`,
`bundle exec rake smoke`.
4. **PR**: branch `release/X.Y.Z`, one commit `release: X.Y.Z`, PR titled `release: X.Y.Z` with the
changelog section as the body. Ask before pushing if the user hasn't asked for the PR.
5. **Merge** only on green and only when the user (or, for non-major releases, the developerz.ai
5. **PR**: branch `release/X.Y.Z`, one commit `release: X.Y.Z`, PR titled `release: X.Y.Z` with the
changelog section as the body, containing nothing else apart from the placeholder refresh in
step 3. Ask before pushing if the user hasn't asked for the PR.
6. **Merge** only on green and only when the user (or, for non-major releases, the developerz.ai
maintainer policy) authorizes it. Then watch `gh run list --workflow release.yml --limit 1`.

## Never
Expand Down
6 changes: 5 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,11 @@ body:
attributes:
label: Versions
description: "ruby2html, ruby -v (with/without YJIT), Rails, ViewComponent, OS/arch"
placeholder: "ruby2html 2.0.0, ruby 3.4.7 +YJIT, Rails 8.1.4, x86_64-linux"
# GitHub issue forms cannot derive values at fill time (static label/description/
# placeholder/value only), so this placeholder is refreshed by hand: on every
# release, take the gem version from lib/gem/ruby2html/version.rb, the Ruby version
# from .ruby-version and the Rails version from Gemfile.lock (see docs/release.md).
placeholder: "ruby2html 2.1.0, ruby 4.0.9 +YJIT, Rails 8.1.4.1, x86_64-linux"
validations:
required: true
- type: checkboxes
Expand Down
5 changes: 3 additions & 2 deletions docs/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ agent never opens one.
1. Pick the version (SemVer): patch for fixes; minor for new tags/helpers/options, perf work or intentional output changes; major for removed or renamed public API, or a raised Ruby/Rails floor.
2. `lib/gem/ruby2html/version.rb` → `VERSION = 'X.Y.Z'` (the gemspec reads it).
3. `CHANGELOG.md`: move `## [Unreleased]` into `## [X.Y.Z] - YYYY-MM-DD` (with "Upgrading to X.0" for a major), leave an empty `## [Unreleased]`, add the `[X.Y.Z]` link at the bottom. `bin/changelog-notes X.Y.Z` must print the section.
4. Verify: `bundle exec rake compile && CI=1 bundle exec rspec && bundle exec rubocop && bundle exec rake smoke`.
5. One PR titled `release: X.Y.Z`, containing nothing else. Merge on green.
4. Refresh the issue-template versions placeholder in `.github/ISSUE_TEMPLATE/bug_report.yml`: gem version from `lib/gem/ruby2html/version.rb`, Ruby version from `.ruby-version`, Rails version from `Gemfile.lock`. GitHub issue forms cannot derive the value at fill time, so it is updated here.
5. Verify: `bundle exec rake compile && CI=1 bundle exec rspec && bundle exec rubocop && bundle exec rake smoke`.
6. One PR titled `release: X.Y.Z`, containing nothing else (apart from the issue-template placeholder refresh in step 4). Merge on green.

## After

Expand Down
Loading