Skip to content

Pre-build JRuby gem #25

Pre-build JRuby gem

Pre-build JRuby gem #25

Workflow file for this run

name: Build Gems
on:
push:
pull_request:
release:
types:
- published
jobs:
build:
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ruby-version:
- 'head'
- '3.4'
- '3.3'
- '3.2'
- '3.1'
- '3.0'
- '2.7'
- '2.6'
- '2.5'
- '2.4'
- '2.3'
- '2.2'
- '2.1'
# - '2.1.0' # Does not exist in ruby/setup-ruby@v1
- '2.0.0'
- '1.9'
- '1.9.3'
# - '1.9.2' # Does not exist in ruby/setup-ruby@v1
# - '1.8(.7)' # Does not exist in ruby/setup-ruby@v1
- 'jruby-head'
- 'jruby-9.4'
- 'jruby-9.3'
- 'jruby-9.2'
- 'jruby-9.1'
# - 'jruby-1[89]mode'
- truffleruby-24
- truffleruby-23
- truffleruby-22
- truffleruby+graalvm-24
- truffleruby+graalvm-23
- truffleruby+graalvm-22
# - rbx # Does not exist in ruby/setup-ruby@v1
# - ree # Does not exist in ruby/setup-ruby@v1
defaults:
run:
shell: /bin/bash --noprofile --norc -Eeuxo pipefail {0}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Slugify GITHUB_REPOSITORY
run: echo "GITHUB_REPOSITORY_SLUG=${GITHUB_REPOSITORY////_}" >> $GITHUB_ENV
- name: Debug classpath for JRuby
if: startsWith(matrix.ruby-version, 'jruby')
run: jruby -e "puts java.lang.System.getProperty('java.class.path').split(':')"
- name: Build Extensions and Test
run: bundle exec rake
- name: Build Gem
run: gem build "${{ github.event.repository.name }}.gemspec"
- name: Create artifacts
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: ${{ env.GITHUB_REPOSITORY_SLUG }}_${{ github.event_name }}_${{ github.event.pull_request.number || github.sha }}_${{ matrix.os
}}_ruby-${{ matrix.ruby-version }}_gems
path: ${{ github.event.repository.name }}-*.gem