Skip to content

Commit

Permalink
🔧🔒 Configure RubyGem Trusted Publishing
Browse files Browse the repository at this point in the history
This requires additional configuration on the RubyGems website:
* https://guides.rubygems.org/trusted-publishing/adding-a-publisher/
* https://rubygems.org/gems/net-imap/trusted_publishers

Note that the RubyGems configuration must match both of the following:
* the workflow filename: `release-gem.yml`
* the job's environment: `RubyGems`
  • Loading branch information
nevans committed May 4, 2024
1 parent 119f43a commit 110e3c0
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/release-gem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Publish gem to rubygems.org

on:
push:
tags:
- v*

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

permissions:
id-token: write # mandatory for trusted publishing
contents: write # required for `rake release` to push the release tag

environment:
name: RubyGems
url: https://rubygems.org/gems/net-imap

steps:
- uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
ruby-version: 3.2

- 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
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit 110e3c0

Please sign in to comment.