Skip to content

ci: cache even when job fails #257

ci: cache even when job fails

ci: cache even when job fails #257

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
name: build
on: push
jobs:
test:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
ruby:
- '3.4'
- '3.3'
- '3.2'
- '3.1'
- '3.0'
- '2.7'
- '2.6'
- '2.5'
openssl:
- '3.5.0'
- '3.4.1'
- '3.3.3'
- '3.2.4'
- '3.1.8'
- '3.0.16'
- '1.1.1w'
include:
- ruby: truffleruby
steps:
- uses: actions/checkout@v4
- name: Install OpenSSL
if: matrix.ruby != 'truffleruby'
uses: ./.github/actions/install-openssl
with:
version: ${{ matrix.openssl }}
- name: Manually set up Ruby
if: matrix.ruby != 'truffleruby'
uses: ./.github/actions/install-ruby
with:
version: ${{ matrix.ruby }}
openssl-version: ${{ matrix.openssl }}
- name: Set up Ruby
if: matrix.ruby == 'truffleruby'
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rspec
env:
RUBYOPT: ${{ startsWith(matrix.ruby, '3.4') && '--enable=frozen-string-literal' || '' }}
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true
- run: bundle exec rubocop -f github