diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d27c7ac..93520f0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,11 +2,6 @@ name: Release on: workflow_dispatch: - inputs: - dry-run: - description: Validate and build without publishing or pushing. - type: boolean - default: true permissions: contents: write @@ -14,7 +9,6 @@ permissions: jobs: release: - uses: dblock/ruby-gem-release/.github/workflows/release.yml@v0.2.0 + uses: dblock/ruby-gem-release/.github/workflows/release.yml@v0.3.0 with: ruby-version: '3.3' - dry-run: ${{ inputs.dry-run }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f2c6f0..4794252 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ### 0.5.1 (Next) +* [#28](https://github.com/dblock/ruby-link-checker/pull/28): Updated ruby-gem-release to 0.3.0 and removed the unsupported dry-run release input and instructions - [@dblock](https://github.com/dblock), [@Copilot](https://github.com/Copilot). * Your contribution here. ### 0.5.0 (2026/11/07) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5d4776d..acca295 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -122,7 +122,7 @@ It's likely that your change will not be merged and that the nitpicky maintainer ## Releases -See [RELEASING.md](RELEASING.md) for the manual release workflow, dry runs, and one-time Trusted Publishing setup. +See [RELEASING.md](RELEASING.md) for the manual release workflow and one-time Trusted Publishing setup. ## Thank You diff --git a/Gemfile b/Gemfile index 726e999..6162a83 100644 --- a/Gemfile +++ b/Gemfile @@ -17,7 +17,7 @@ group :development, :test do gem 'rubocop', '~> 1.0' gem 'rubocop-rake' gem 'rubocop-rspec' - gem 'ruby-gem-release', '~> 0.2.0', require: false + gem 'ruby-gem-release', '~> 0.3.0', require: false gem 'vcr' gem 'webmock' end diff --git a/RELEASING.md b/RELEASING.md index a018c22..918b837 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -2,7 +2,7 @@ There are no hard rules about when to release ruby-link-checker. Release bug fixes frequently, features not so frequently and breaking API changes rarely. -Releases use [ruby-gem-release](https://github.com/dblock/ruby-gem-release/tree/v0.2.0) and the manual [Release workflow](.github/workflows/release.yml). Merges do not publish, and dispatches default to dry-run mode. +Releases use [ruby-gem-release](https://github.com/dblock/ruby-gem-release/tree/v0.3.0) and the manual [Release workflow](.github/workflows/release.yml). Merges do not publish. Every workflow dispatch performs a real release. ## One-Time Setup @@ -16,18 +16,16 @@ The workflow requests `contents: write` and `id-token: write`. Branch rules must Prepare the intended version in `lib/ruby-link-checker/version.rb` and its matching `### VERSION (Next)` section in `CHANGELOG.md` through a PR. Keep exactly one `* Your contribution here.` placeholder in that section. The workflow releases the current version, dates the changelog, and removes the placeholder; it does not select a new release version. -After merging, run a dry run from `main`: +Run tests and RuboCop locally and review the release changes before merging: ```sh -gh workflow run release.yml --ref main -f dry-run=true +bundle exec rake ``` -Review the run's validation results and artifacts before authorizing publication. Dry runs exercise local commits, tags, and gem builds in the runner, without uploading the gem, pushing Git history, or creating a GitHub Release. - -After explicit release approval and successful Trusted Publishing setup: +After merging, explicit release approval, and successful Trusted Publishing setup, dispatch from `main`: ```sh -gh workflow run release.yml --ref main -f dry-run=false +gh workflow run release.yml --ref main ``` The workflow runs `bundle exec rake`, publishes the verified gem to RubyGems, pushes the release commit and tag atomically, and creates a GitHub Release with the gem attached. It then increments the patch version and pushes a new development commit with a fresh changelog section. Actions-token pushes do not trigger ordinary push workflows, so the release workflow runs tests and RuboCop before publication. @@ -36,4 +34,4 @@ The workflow runs `bundle exec rake`, publishes the verified gem to RubyGems, pu Verify the published RubyGems version, matching tag and GitHub Release, attached gem, and next development version on `main`. -Never automatically rerun a failed or timed-out publication: RubyGems may have accepted the upload. Check registry and GitHub state first. Do not republish an existing version or move its tag. Available `release.gem`, `release.json`, and `release.bundle` recovery artifacts are retained for 30 days; follow the [upstream recovery instructions](https://github.com/dblock/ruby-gem-release/blob/v0.2.0/RELEASING.md#verify-and-recover) to complete only the missing steps. +Never automatically rerun a failed or timed-out publication: RubyGems may have accepted the upload. Check registry and GitHub state first. Do not republish an existing version or move its tag. Available `release.gem`, `release.json`, and `release.bundle` recovery artifacts are retained for 30 days; follow the [upstream recovery instructions](https://github.com/dblock/ruby-gem-release/blob/v0.3.0/RELEASING.md#verify-and-recover) to complete only the missing steps.