Skip to content

Commit

Permalink
Enabled trusted publisher for rubygems.org
Browse files Browse the repository at this point in the history
  • Loading branch information
hsbt committed Nov 18, 2024
1 parent 5dbeb4b commit 979cf18
Showing 1 changed file with 62 additions and 0 deletions.
62 changes: 62 additions & 0 deletions .github/workflows/push_gem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Publish gem to rubygems.org

on:
push:
tags:
- 'v*'

permissions:
contents: read

jobs:
push:
if: github.repository == 'ruby/digest'
runs-on: ubuntu-latest

environment:
name: rubygems.org
url: https://rubygems.org/gems/digest

permissions:
contents: write
id-token: write

strategy:
matrix:
ruby: ["3.3", "jruby"]

steps:
- name: Harden Runner
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
with:
egress-policy: audit

- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4

- name: Set up Ruby
uses: ruby/setup-ruby@a6e6f86333f0a2523ece813039b8b4be04560854 # v1.190.0
with:
ruby-version: ${{ matrix.ruby }}

# https://github.com/rubygems/rubygems/issues/5882
- name: Install dependencies and build for JRuby
run: |
sudo apt install default-jdk maven
gem update --system
gem install ruby-maven rake-compiler --no-document
rake compile
if: matrix.ruby == 'jruby'

- name: Install dependencies
run: bundle install --jobs 4 --retry 3

- name: Publish to RubyGems
uses: rubygems/release-gem@612653d273a73bdae1df8453e090060bb4db5f31 # v1

- name: Create GitHub release
run: |
tag_name="$(git describe --tags --abbrev=0)"
gh release create "${tag_name}" --verify-tag --generate-notes
env:
GITHUB_TOKEN: ${{ secrets.MATZBOT_GITHUB_WORKFLOW_TOKEN }}
if: matrix.ruby != 'jruby'

0 comments on commit 979cf18

Please sign in to comment.