Pre-build JRuby gem #25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |