From b22ec67e7507733bcfc90e47b27a65bf89d8564f Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Thu, 4 Jun 2026 03:49:49 +0000 Subject: [PATCH 01/17] Implement Release workflow Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..9353854 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +name: Release + +on: + push: + tags: ["v*"] + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout Code + # see https://github.com/actions/checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + - name: Set up Ruby + # see https://github.com/ruby/setup-ruby + uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0 + with: + ruby-version: '3.3.9' + bundler-cache: false + - name: Install Dependencies + run: bundle install + - name: Run the default task + run: bundle exec rake + + rubygems_release: + name: RubyGems Release + runs-on: ubuntu-latest + needs: test + steps: + - run: echo "RubyGems publish (dummy step)" + + github_release: + name: GitHub Release + if: github.repository == 'CycloneDX/cyclonedx-ruby-gem' + runs-on: ubuntu-latest + timeout-minutes: 10 + needs: rubygems_release + environment: release + permissions: + contents: write + steps: + - name: Checkout Code + # see https://github.com/actions/checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + - name: Create GitHub Release + run: | + gh release create "${{ github.ref_name }}" \ + --verify-tag \ + --generate-notes + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 90ac3876598a533e51460e89df761db9bf666286 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Sun, 7 Jun 2026 20:01:21 +0000 Subject: [PATCH 02/17] Implement rubygems_release CI job Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9353854..26af4c5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,10 +30,28 @@ jobs: rubygems_release: name: RubyGems Release + if: github.repository == 'CycloneDX/cyclonedx-ruby-gem' runs-on: ubuntu-latest + timeout-minutes: 10 needs: test + permissions: + contents: write + id-token: write + environment: release steps: - - run: echo "RubyGems publish (dummy step)" + - name: Checkout Code + # see https://github.com/actions/checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + - name: Set up Ruby + # see https://github.com/ruby/setup-ruby + uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0 + with: + ruby-version: ruby + bundler-cache: false + - name: "Push gem to RubyGems" + uses: rubygems/release-gem@6317d8d1f7e28c24d28f6eff169ea854948bd9f7 # v1.2.0 github_release: name: GitHub Release From 4f806b7e0bec63548c9d53c9b4938cb0c0381add Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Thu, 2 Jul 2026 22:07:10 +0000 Subject: [PATCH 03/17] Bump actions/checkout from v6.0.2 to v7.0.0 Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 26af4c5..3191ae3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout Code # see https://github.com/actions/checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Set up Ruby @@ -41,7 +41,7 @@ jobs: steps: - name: Checkout Code # see https://github.com/actions/checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Set up Ruby @@ -65,7 +65,7 @@ jobs: steps: - name: Checkout Code # see https://github.com/actions/checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Create GitHub Release From 7ff9329721386599b85baf3dbb176d60e07eb4a2 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Thu, 2 Jul 2026 23:40:05 +0000 Subject: [PATCH 04/17] Bump ruby/setup-ruby GHA from v1.310.0 to v1.314.0 Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3191ae3..5421d3d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: persist-credentials: false - name: Set up Ruby # see https://github.com/ruby/setup-ruby - uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0 + uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314.0 with: ruby-version: '3.3.9' bundler-cache: false @@ -46,7 +46,7 @@ jobs: persist-credentials: false - name: Set up Ruby # see https://github.com/ruby/setup-ruby - uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0 + uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314.0 with: ruby-version: ruby bundler-cache: false From 2106cb1e4e21dfd64ec1f691fd6ce24af1b43ef4 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Sat, 4 Jul 2026 11:20:45 +0000 Subject: [PATCH 05/17] Replace github.ref_name with GITHUB_REF_NAME in release job Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5421d3d..cfdfb18 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,7 +70,7 @@ jobs: persist-credentials: false - name: Create GitHub Release run: | - gh release create "${{ github.ref_name }}" \ + gh release create "$GITHUB_REF_NAME" \ --verify-tag \ --generate-notes env: From 3e9e0baf59565c0dde93c81875a1f57b469c3420 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Sat, 4 Jul 2026 11:34:11 +0000 Subject: [PATCH 06/17] Trigger release workflow only on vMAJOR.MINOR.PATCH tags Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cfdfb18..23a7c58 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: Release on: push: - tags: ["v*"] + tags: ["v*.*.*"] permissions: contents: read From e3c2541c0e39fb0451fc5945fc1213192fb7c1e8 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Sat, 4 Jul 2026 14:51:38 +0000 Subject: [PATCH 07/17] Add comment explaining required permissions for GitHub Releases Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 23a7c58..0ef54f3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -60,6 +60,8 @@ jobs: timeout-minutes: 10 needs: rubygems_release environment: release + # Needed for `gh release create` because GitHub Releases require write access + # to repository contents, which is not granted by default with GITHUB_TOKEN. permissions: contents: write steps: From 51b50f12e9a96adf8dff477dc6810a1b76ac9604 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Sat, 4 Jul 2026 19:17:58 +0000 Subject: [PATCH 08/17] Add comments explaining required permissions for RubyGems Releases Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ef54f3..96bcac0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,8 +35,8 @@ jobs: timeout-minutes: 10 needs: test permissions: - contents: write - id-token: write + contents: write # Required for `rake release` to perform git synchronization. + id-token: write # Required for Trusted Publishing authentication. environment: release steps: - name: Checkout Code From da61dd344cec201b9a0ef290a1ac3b017b56e5b7 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Sat, 4 Jul 2026 19:35:37 +0000 Subject: [PATCH 09/17] Add comment with rubygems/release-gem GHA project URL Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 96bcac0..a2584b4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,6 +51,7 @@ jobs: ruby-version: ruby bundler-cache: false - name: "Push gem to RubyGems" + # see https://github.com/rubygems/release-gem uses: rubygems/release-gem@6317d8d1f7e28c24d28f6eff169ea854948bd9f7 # v1.2.0 github_release: From 9e506408dc9143257bf1fff73505179fbc02c893 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Mon, 6 Jul 2026 01:48:40 +0000 Subject: [PATCH 10/17] Add support for creating GitHub pre-releases Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a2584b4..c4a4f44 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,8 +73,14 @@ jobs: persist-credentials: false - name: Create GitHub Release run: | - gh release create "$GITHUB_REF_NAME" \ - --verify-tag \ - --generate-notes + declare -a FLAGS=("--verify-tag" "--generate-notes") + + # Determine release type from tag suffix + if [[ "$GITHUB_REF_NAME" =~ -(alpha|beta|rc|pre)[0-9.]*$ ]]; then + FLAGS+=("--prerelease") + fi + + # Publish the release on GitHub with auto-generated release notes + gh release create "${FLAGS[@]}" -- "$GITHUB_REF_NAME" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From a7352f69c6cfe31a5867d466a085186696c35b2d Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Fri, 10 Jul 2026 22:27:24 +0000 Subject: [PATCH 11/17] Drop global permissions to empty set in release workflow Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c4a4f44..f00fb53 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,8 +4,8 @@ on: push: tags: ["v*.*.*"] -permissions: - contents: read +# see https://docs.github.com/en/actions/tutorials/authenticate-with-github_token#modifying-the-permissions-for-the-github_token +permissions: {} jobs: test: From 98c2176bcb23c1bfae30447ff04e7034316b3660 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Sat, 11 Jul 2026 11:35:55 +0000 Subject: [PATCH 12/17] Lock rubygems_release ci job to Ruby 3.4 for build stability Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f00fb53..a7d2870 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,7 +48,7 @@ jobs: # see https://github.com/ruby/setup-ruby uses: ruby/setup-ruby@9eb537ca036ebaed86729dcb9309076e4c5c3b74 # v1.314.0 with: - ruby-version: ruby + ruby-version: '3.4' # Stable environment to package the gem for the supported ruby versions bundler-cache: false - name: "Push gem to RubyGems" # see https://github.com/rubygems/release-gem From 2af378b5a870435dd318ba30c5fd0134ee52a500 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Wed, 15 Jul 2026 23:08:46 +0000 Subject: [PATCH 13/17] Add built gem as GitHub release asset Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7d2870..660f94c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,6 +53,13 @@ jobs: - name: "Push gem to RubyGems" # see https://github.com/rubygems/release-gem uses: rubygems/release-gem@6317d8d1f7e28c24d28f6eff169ea854948bd9f7 # v1.2.0 + - name: Upload gem artifact + # see https://github.com/actions/upload-artifact + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a #v7.0.1 + with: + name: gem + path: pkg/*.gem + retention-days: 1 github_release: name: GitHub Release @@ -71,6 +78,12 @@ jobs: uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false + - name: Download gem artifact + # see https://github.com/actions/download-artifact + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: gem + path: pkg - name: Create GitHub Release run: | declare -a FLAGS=("--verify-tag" "--generate-notes") @@ -81,6 +94,6 @@ jobs: fi # Publish the release on GitHub with auto-generated release notes - gh release create "${FLAGS[@]}" -- "$GITHUB_REF_NAME" + gh release create "${FLAGS[@]}" -- "$GITHUB_REF_NAME" pkg/*.gem env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From e92d1bdedbdb806ccba1d249cd3b20df297529e9 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Thu, 16 Jul 2026 03:07:46 +0000 Subject: [PATCH 14/17] Add changelog entry for release workflow Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e50ee65..1981ada 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,9 @@ Please file a bug if you notice a violation of semantic versioning. ### Added +- Semi-automated CI release workflow triggered by version tags (`vMAJOR.MINOR.PATCH` with optional pre-release suffixes) (#46) +- RubyGems publishing via `rubygems_release` using trusted publishing +- Automated GitHub Releases with generated release notes, including support for pre-releases - `CONTRIBUTING.md` file to help people find their way to contributing - `CHANGELOG.md` file to document notable changes in keep-a-changelog format - `Cyclonedx::BomHelpers` module to house helper methods, replacing global methods From 5545c7ca1dc2aec35b92880e215cef7b8954171f Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Thu, 16 Jul 2026 03:55:17 +0000 Subject: [PATCH 15/17] Update release process in CONTRIBUTING.md Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- CONTRIBUTING.md | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7157a53..7766e08 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -88,36 +88,20 @@ Made with [contributors-img][🖐contrib-rocks]. ### To release a new version: -#### Automated process - -Coming Soon! - -#### Manual process - -1. Run `bin/setup && bin/rake` as a "test, coverage, & linting" sanity check -2. Update the version number in `version.rb`, and ensure `CHANGELOG.md` reflects changes -3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock` -4. Run `git commit -am "🔖 Prepare release v"` to commit the changes -5. Run `git push` to trigger the final CI pipeline before release, and merge PRs +#### Semi-automated process + +1. Update the version number in `version.rb`, and ensure `CHANGELOG.md` reflects the changes. +2. Commit the changes: + ```sh + git commit -am "🔖 Prepare release v" + ``` +3. Push the changes to trigger the final CI pipeline before the release. - NOTE: Remember to [check the build][🧪build]. -6. Run `export GIT_TRUNK_BRANCH_NAME="$(git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5)" && echo $GIT_TRUNK_BRANCH_NAME` -7. Run `git checkout $GIT_TRUNK_BRANCH_NAME` -8. Run `git pull origin $GIT_TRUNK_BRANCH_NAME` to ensure latest trunk code -9. Optional for older Bundler (< 2.7.0): Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use the same timestamp and generate the same checksums - - If your Bundler is >= 2.7.0, you can skip this; builds are reproducible by default. - - Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH` - - If the echo above has no output, then it didn't work. - - Note: `zsh/datetime` module is needed, if running `zsh`. - - In older versions of `bash` you can use `date +%s` instead, i.e. `export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH` -10. Run `bundle exec rake build` -11. Run `bundle exec rake release` which will create a git tag for the version, - push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec. -12. Run `bin/gem_checksums` (more context [1][🔒️rubygems-checksums-pr], [2][🔒️rubygems-guides-pr]) - to create SHA-256 and SHA-512 checksums. This functionality is provided by the `stone_checksums` - [gem][💎stone_checksums]. - - The script automatically commits but does not push the checksums -13. Sanity check the SHA256, comparing with the output from the `bin/gem_checksums` command: - - `sha256sum pkg/-.gem` +4. Create a git tag for the gem version. Prefix the tag with 'v'. For example, if the current [gem version](https://github.com/CycloneDX/cyclonedx-ruby-gem/blob/master/lib/cyclonedx/ruby/version.rb) is 1.2.0, the tag should be 'v1.2.0'. Pre-releases are supported. See the [release workflow](https://github.com/CycloneDX/cyclonedx-ruby-gem/blob/master/.github/workflows/release.yml) for more details. Push the tag to the repository to trigger the release workflow. + + > [!WARNING] + > The gem version and git tag MUST match. A mismatch may cause `rake release` (invoked by `rubygems/release-gem`) to create and push a tag for the gem version, which could produce unexpected results. +5. Monitor the release workflow and verify that the release completes succesfully. [📜src-gh]: https://github.com/CycloneDX/cyclonedx-ruby-gem [🧪build]: https://github.com/CycloneDX/cyclonedx-ruby-gem/actions From c1b611c217ad1390471319ca910c94891465f054 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Thu, 16 Jul 2026 04:09:11 +0000 Subject: [PATCH 16/17] Fix Markdown warning in CONTRIBUTING.md Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7766e08..18eb0bc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -99,8 +99,8 @@ Made with [contributors-img][🖐contrib-rocks]. - NOTE: Remember to [check the build][🧪build]. 4. Create a git tag for the gem version. Prefix the tag with 'v'. For example, if the current [gem version](https://github.com/CycloneDX/cyclonedx-ruby-gem/blob/master/lib/cyclonedx/ruby/version.rb) is 1.2.0, the tag should be 'v1.2.0'. Pre-releases are supported. See the [release workflow](https://github.com/CycloneDX/cyclonedx-ruby-gem/blob/master/.github/workflows/release.yml) for more details. Push the tag to the repository to trigger the release workflow. - > [!WARNING] - > The gem version and git tag MUST match. A mismatch may cause `rake release` (invoked by `rubygems/release-gem`) to create and push a tag for the gem version, which could produce unexpected results. +> [!WARNING] +> The gem version and git tag MUST match. A mismatch may cause `rake release` (invoked by `rubygems/release-gem`) to create and push a tag for the gem version, which could produce unexpected results. 5. Monitor the release workflow and verify that the release completes succesfully. [📜src-gh]: https://github.com/CycloneDX/cyclonedx-ruby-gem From cf5e3d90f33d46082914a4605abbcebb41cf2ec7 Mon Sep 17 00:00:00 2001 From: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> Date: Thu, 16 Jul 2026 23:56:15 +0000 Subject: [PATCH 17/17] Remove unnecessary quotes from step name Signed-off-by: Amauri Bizerra <10775696+extern-c@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 660f94c..d6254e9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -50,7 +50,7 @@ jobs: with: ruby-version: '3.4' # Stable environment to package the gem for the supported ruby versions bundler-cache: false - - name: "Push gem to RubyGems" + - name: Push gem to RubyGems # see https://github.com/rubygems/release-gem uses: rubygems/release-gem@6317d8d1f7e28c24d28f6eff169ea854948bd9f7 # v1.2.0 - name: Upload gem artifact