Skip to content

Commit 3c26e54

Browse files
committed
Merge push_gem.yml into release.yml and update the Rakefile to push cross-compiled gems
1 parent a61f40e commit 3c26e54

3 files changed

Lines changed: 26 additions & 43 deletions

File tree

.github/workflows/push_gem.yml

Lines changed: 0 additions & 31 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,32 @@ jobs:
4747
release:
4848
needs: cross-compile
4949
runs-on: ubuntu-latest
50+
51+
permissions:
52+
contents: write
53+
id-token: write
54+
55+
# If you configured a GitHub environment on RubyGems, you must use it here.
56+
environment: release
57+
5058
steps:
59+
# Set up
60+
- uses: actions/checkout@v6
61+
with:
62+
persist-credentials: false
63+
- name: Set up Ruby
64+
uses: ruby/setup-ruby@v1
65+
with:
66+
bundler-cache: true
67+
ruby-version: ruby
68+
5169
- uses: actions/download-artifact@v7
5270
with:
5371
path: artifacts
5472
- name: Move gems to pkg directory
5573
run: |
5674
mkdir -p pkg
5775
find artifacts -name "*.gem" -exec mv {} pkg/ \;
58-
- name: Publish to RubyGems
59-
env:
60-
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
61-
run: |
62-
mkdir -p ~/.gem
63-
echo "---
64-
:rubygems_api_key: ${RUBYGEMS_API_KEY}" > ~/.gem/credentials
65-
chmod 0600 ~/.gem/credentials
66-
for gem in pkg/*.gem
67-
do
68-
gem push $gem
69-
done
76+
77+
# Release
78+
- uses: rubygems/release-gem@v1

Rakefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,9 @@ RbSys::ExtensionTask.new("urlpattern", GEMSPEC) do |ext|
1919
ext.lib_dir = "lib/urlpattern"
2020
end
2121

22+
Rake::Task["release:rubygem_push"].clear
23+
task "release:rubygem_push" do
24+
Dir["pkg/*.gem"].each { |gem| sh "gem", "push", gem }
25+
end
26+
2227
task default: %i[compile test rubocop]

0 commit comments

Comments
 (0)