Pre-build JRuby gem #31
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: Build Extensions and Test | |
continue-on-error: true # XXX: Tests are a small mess | |
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 |