Skip to content

Commit 11b3570

Browse files
committed
Update trusted publisher configuration
1 parent a2c1f2d commit 11b3570

1 file changed

Lines changed: 31 additions & 24 deletions

File tree

.github/workflows/push_gem.yml

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,46 @@
1-
---
2-
"on":
1+
name: Publish gem to rubygems.org
2+
3+
on:
34
push:
45
tags:
5-
- v*
6-
name: Push Gem
6+
- 'v*'
7+
8+
permissions:
9+
contents: read
10+
711
jobs:
812
push:
13+
if: github.repository == 'ruby/rubygems-generate_index'
914
runs-on: ubuntu-latest
15+
16+
environment:
17+
name: rubygems.org
18+
url: https://rubygems.org/gems/rubygems-generate_index
19+
1020
permissions:
1121
contents: write
1222
id-token: write
23+
1324
steps:
14-
- uses: rubygems/configure-rubygems-credentials@main
25+
- name: Harden Runner
26+
uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1
1527
with:
16-
role-to-assume: rg_oidc_akr_e3gvf8d8qwrffk7gjno7
17-
- uses: actions/checkout@v5
18-
- name: Set remote URL
19-
run: |
20-
# Attribute commits to the last committer on HEAD
21-
git config --global user.email "$(git log -1 --pretty=format:'%ae')"
22-
git config --global user.name "$(git log -1 --pretty=format:'%an')"
23-
git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY"
28+
egress-policy: audit
29+
30+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
31+
2432
- name: Set up Ruby
25-
uses: ruby/setup-ruby@v1
33+
uses: ruby/setup-ruby@d5126b9b3579e429dd52e51e68624dda2e05be25 # v1.267.0
2634
with:
2735
bundler-cache: true
2836
ruby-version: ruby
29-
- name: Release
30-
run: bundle exec rake release
31-
- name: Wait for release to propagate
37+
38+
- name: Publish to RubyGems
39+
uses: rubygems/release-gem@6317d8d1f7e28c24d28f6eff169ea854948bd9f7 # v1.2.0
40+
41+
- name: Create GitHub release
3242
run: |
33-
gem install rubygems-await
34-
gem_tuple="$(ruby -rbundler/setup -rbundler -e '
35-
spec = Bundler.definition.specs.find {|s| s.name == ARGV[0] }
36-
raise "No spec for #{ARGV[0]}" unless spec
37-
print [spec.name, spec.version, spec.platform].join(":")
38-
' "rubygems-generate_index")"
39-
gem await "${gem_tuple}"
43+
tag_name="$(git describe --tags --abbrev=0)"
44+
gh release create "${tag_name}" --verify-tag --generate-notes
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)