Skip to content

Commit

Permalink
Configure RubyGems Trusted Publishing
Browse files Browse the repository at this point in the history
Added .github/workflows/push_gem.yml based on that of net-imap and
psych.

If nothing goes wrong, pushing a tag named v* should publish
openssl-*.gem and openssl-*-java.gem to rubygems.org, and create a
draft GitHub release.
  • Loading branch information
rhenium committed Nov 13, 2024
1 parent 1f07615 commit 70377d3
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/push_gem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Publish gem to rubygems.org

on:
push:
tags:
- 'v*'

permissions:
contents: read

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

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

permissions:
contents: write
id-token: write

strategy:
matrix:
ruby: [ 'ruby', 'jruby' ]

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

- uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
ruby-version: ${{ matrix.ruby }}

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

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

0 comments on commit 70377d3

Please sign in to comment.