Skip to content

Fix the CI

Fix the CI #56

Workflow file for this run

name: RSpec CI
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
- 'pr-*'
pull_request:
branches:
- '*'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
rubocop:
name: Rubocop
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
- run: script/update_rubygems_and_install_bundler
- run: bundle install --standalone
- run: bundle exec rubocop -c .rubocop.yml
test:
name: 'Ruby: ${{ matrix.ruby }}, Rails: ${{ matrix.env.RAILS_VERSION }}'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
# Rails 7.1 builds >= 2.7
- ruby: 3.2
env:
RAILS_VERSION: '~> 7.1.0'
- ruby: 3.1
env:
RAILS_VERSION: '~> 7.1.0'
- ruby: '3.0'
env:
RAILS_VERSION: '~> 7.1.0'
- ruby: 2.7
env:
RAILS_VERSION: '~> 7.1.0'
# Rails 7.0 builds >= 2.7
- ruby: 3.2
env:
RAILS_VERSION: '~> 7.0.0'
- ruby: 3.1
env:
RAILS_VERSION: '~> 7.0.0'
- ruby: '3.0'
env:
RAILS_VERSION: '~> 7.0.0'
- ruby: 2.7
env:
RAILS_VERSION: '~> 7.0.0'
# Rails 6.1 builds >= 2.5
- ruby: 3.1
env:
RAILS_VERSION: '~> 6.1.0'
- ruby: '3.0'
env:
RAILS_VERSION: '~> 6.1.0'
- ruby: 2.7
env:
RAILS_VERSION: '~> 6.1.0'
- ruby: 2.6
env:
RAILS_VERSION: '~> 6.1.0'
- ruby: 2.5
env:
RAILS_VERSION: '~> 6.1.0'
# Rails 6.0 builds >= 2.4.10, < 3.0
- ruby: 2.7
env:
RAILS_VERSION: '~> 6.0.0'
- ruby: 2.6
env:
RAILS_VERSION: '~> 6.0.0'
- ruby: 2.5
env:
RAILS_VERSION: '~> 6.0.0'
# Rails 5.2 builds >= 2.2.2, <= 2.7
- ruby: 2.7
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.6
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.5
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.4
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.3
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.2
env:
RAILS_VERSION: '~> 5.2.0'
# Rails 5.1 Builds >= 2.2.2
- ruby: 2.7
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.6
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.5
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.4
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.3
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.2
env:
RAILS_VERSION: '~> 5.1.0'
# Rails 5.0 Builds >= 2.2.2
- ruby: 2.7
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.6
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.5
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.4
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.3
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.2
env:
RAILS_VERSION: '~> 5.0.0'
# Rails 4.2 Builds >= 1.9.3
- ruby: 2.4
env:
RAILS_VERSION: '~> 4.2.0'
- ruby: 2.3
env:
RAILS_VERSION: '~> 4.2.0'
- ruby: 2.2
env:
RAILS_VERSION: '~> 4.2.0'
# Rails 4.1 Builds >= 1.9.3, < 2.4
- ruby: 2.3
env:
RAILS_VERSION: '~> 4.1.0'
- ruby: 2.2
env:
RAILS_VERSION: '~> 4.1.0'
# Rails 4.0 Builds >= 1.8.11, < 2.4
- ruby: 2.3
env:
RAILS_VERSION: '~> 4.0.4'
- ruby: 2.2
env:
RAILS_VERSION: '~> 4.0.4'
# Rails 3.2 Builds < 2.4
- ruby: 2.3
env:
RAILS_VERSION: '~> 3.2.17'
- ruby: 2.2
env:
RAILS_VERSION: '~> 3.2.17'
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- run: script/update_rubygems_and_install_bundler
- run: bundle install --binstubs
- run: script/run_build
continue-on-error: ${{ matrix.allow_failure || false }}
legacy:
name: Legacy Ruby Builds (${{ matrix.container.version }})
runs-on: ubuntu-20.04
container:
image: ${{ matrix.container.tag }}
options: ${{ matrix.container.options || '--add-host github-complains-if-this-is-empty.com:127.0.0.1' }}
strategy:
fail-fast: false
matrix:
include:
# Rails 4.2 Builds >= 1.9.3
- container:
version: "2.1.9"
tag: ghcr.io/rspec/docker-ci:2.1.9
post: git config --global --add safe.directory `pwd`
env:
RAILS_VERSION: '~> 4.2.0'
- container:
version: "2.0"
tag: ghcr.io/rspec/docker-ci:2.0.0
env:
RAILS_VERSION: '~> 4.2.0'
- container:
version: "1.9.3"
tag: ghcr.io/rspec/docker-ci:1.9.3
env:
RAILS_VERSION: '~> 4.2.0'
env:
LEGACY_CI: true
JRUBY_OPTS: ${{ matrix.container.jruby_opts || '--dev' }}
RAILS_VERSION: ${{ matrix.env.RAILS_VERSION }}
steps:
- uses: actions/checkout@v4
- run: apt-get install libsqlite3-dev
- run: ${{ matrix.container.pre }}
- run: script/legacy_setup.sh
- run: ${{ matrix.container.post }}
- run: script/run_build