Skip to content

Commit 48b88f8

Browse files
yahondaclaude
andcommitted
Add JRuby support for gem build and release
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 39cf870 commit 48b88f8

2 files changed

Lines changed: 30 additions & 4 deletions

File tree

.github/workflows/release.yml

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,27 @@ jobs:
2828
name: gem-cruby
2929
path: "*.gem"
3030

31+
build-jruby:
32+
name: Build gem (JRuby)
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v6
36+
- name: Set up Ruby
37+
uses: ruby/setup-ruby@v1
38+
with:
39+
ruby-version: 'jruby-10.0.5.0'
40+
rubygems: latest
41+
- name: Build gem
42+
run: gem build ruby-plsql.gemspec
43+
- name: Upload gem artifact
44+
uses: actions/upload-artifact@v4
45+
with:
46+
name: gem-jruby
47+
path: "*.gem"
48+
3149
release:
32-
name: Push gem to RubyGems
33-
needs: [build-cruby]
50+
name: Push gems to RubyGems
51+
needs: [build-cruby, build-jruby]
3452
runs-on: ubuntu-latest
3553
environment: rubygems
3654
permissions:
@@ -42,14 +60,18 @@ jobs:
4260
uses: actions/download-artifact@v4
4361
with:
4462
name: gem-cruby
63+
- name: Download JRuby gem
64+
uses: actions/download-artifact@v4
65+
with:
66+
name: gem-jruby
4567
- name: Set up Ruby
4668
uses: ruby/setup-ruby@v1
4769
with:
4870
ruby-version: '4.0'
4971
rubygems: latest
5072
- name: Configure RubyGems credentials
5173
uses: rubygems/configure-rubygems-credentials@main
52-
- name: Push gem
74+
- name: Push gems
5375
run: |
5476
for gem in *.gem; do
5577
echo "Pushing $gem"

ruby-plsql.gemspec

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,9 @@ Gem::Specification.new do |s|
2323
s.add_development_dependency "rspec", "~> 3.1"
2424
s.add_development_dependency "rspec_junit_formatter"
2525
s.add_development_dependency "simplecov"
26-
s.add_development_dependency "ruby-oci8", "~> 2.1"
26+
if RUBY_PLATFORM =~ /java/
27+
s.platform = Gem::Platform.new("java")
28+
else
29+
s.add_runtime_dependency "ruby-oci8", "~> 2.1"
30+
end
2731
end

0 commit comments

Comments
 (0)