Skip to content

Commit 7b39b9a

Browse files
committed
Use trusted publishing
1 parent 6cf5156 commit 7b39b9a

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

.github/workflows/release.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Release
2+
on:
3+
push:
4+
tags:
5+
- "*"
6+
jobs:
7+
github:
8+
name: GitHub
9+
runs-on: ubuntu-latest
10+
timeout-minutes: 10
11+
steps:
12+
- uses: actions/checkout@v6
13+
- name: Extract release note
14+
run: |
15+
ruby \
16+
-e 'print("## Enumerable::Statistics: "); \
17+
puts(ARGF.read.split(/^# /)[1].strip)' \
18+
CHANGELOG.md > release-note.md
19+
- name: Upload to release
20+
run: |
21+
title=$(head -n1 release-note.md | sed -e 's/^## //')
22+
tail -n +2 release-note.md > release-note-without-version.md
23+
gh release create ${GITHUB_REF_NAME} \
24+
--discussion-category Announcements \
25+
--notes-file release-note-without-version.md \
26+
--title "${title}"
27+
env:
28+
GH_TOKEN: ${{ github.token }}
29+
30+
rubygems:
31+
name: RubyGems
32+
runs-on: ubuntu-latest
33+
timeout-minutes: 10
34+
permissions:
35+
id-token: write
36+
environment: release
37+
steps:
38+
- uses: actions/checkout@v6
39+
- uses: ruby/setup-ruby@v1
40+
with:
41+
ruby-version: ruby
42+
bundler-cache: true
43+
- uses: rubygems/[email protected]
44+
- name: Push gems
45+
run: |
46+
bundle exec rake release:rubygem_push

Rakefile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,13 @@ task :bench do
2929
end
3030

3131
task default: [:test, :spec]
32+
33+
release_task = Rake.application["release"]
34+
# We use Trusted Publishing.
35+
release_task.prerequisites.delete("build")
36+
release_task.prerequisites.delete("release:rubygem_push")
37+
release_task_comment = release_task.comment
38+
if release_task_comment
39+
release_task.clear_comments
40+
release_task.comment = release_task_comment.gsub(/ and build.*$/, "")
41+
end

0 commit comments

Comments
 (0)