Skip to content

Commit af66977

Browse files
authored
Merge pull request #86 from ruby/rubygems_trusted_publishing
Configure RubyGems Trusted Publishing
2 parents a939e5c + d2215c5 commit af66977

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

.github/workflows/push_gem.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Publish gem to rubygems.org
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
push:
13+
if: github.repository == 'ruby/curses'
14+
runs-on: ubuntu-latest
15+
16+
environment:
17+
name: rubygems.org
18+
url: https://rubygems.org/gems/curses
19+
20+
permissions:
21+
contents: write
22+
id-token: write
23+
24+
steps:
25+
# Set up
26+
- name: Harden Runner
27+
uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
28+
with:
29+
egress-policy: audit
30+
31+
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
32+
33+
- name: Set up Ruby
34+
uses: ruby/setup-ruby@cacc9f1c0b3f4eb8a16a6bb0ed10897b43b9de49 # v1.176.0
35+
with:
36+
bundler-cache: true
37+
ruby-version: ruby
38+
39+
# Release
40+
- name: Publish to RubyGems
41+
uses: rubygems/release-gem@612653d273a73bdae1df8453e090060bb4db5f31 # v1
42+
43+
- name: Create GitHub release
44+
run: |
45+
tag_name="$(git describe --tags --abbrev=0)"
46+
gh release create "${tag_name}" --verify-tag --draft --generate-notes
47+
env:
48+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)