[wip] Rework spec for different JRuby implementation. #737
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
# This file was generated on 2024-07-15T21:58:53+01:00 from the rspec-dev repo. | |
# DO NOT modify it by hand as your changes will get lost the next time it is generated. | |
name: RSpec CI | |
on: | |
push: | |
branches: | |
- 'main' | |
- '*-maintenance' | |
- '*-dev' | |
pull_request: | |
branches: | |
- '*' | |
permissions: | |
contents: read | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
RSPEC_CI: true | |
# This tells rspec-rails what branch to run in ci | |
RSPEC_VERSION: '= 3.14.0.pre' | |
jobs: | |
rubocop: | |
name: Rubocop | |
runs-on: 'ubuntu-20.04' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.0' | |
- run: script/update_rubygems_and_install_bundler | |
- run: script/clone_all_rspec_repos | |
- run: bundle install --standalone | |
- run: bundle binstubs --all | |
- run: script/run_rubocop | |
test: | |
name: Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }} | |
runs-on: ${{ matrix.os || 'ubuntu-20.04' }} | |
strategy: | |
matrix: | |
ruby: | |
- '3.3' | |
env: | |
- | |
DIFF_LCS_VERSION: "> 1.4.3" | |
include: | |
- ruby: jruby-9.2.13.0 | |
env: | |
JRUBY_OPTS: "--dev" | |
fail-fast: false | |
continue-on-error: ${{ matrix.allow_failure || endsWith(matrix.ruby, 'head') }} | |
env: ${{ matrix.env }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
bundler: ${{ matrix.bundler || '2.2.22' }} | |
ruby-version: ${{ matrix.ruby }} | |
- run: script/update_rubygems_and_install_bundler | |
- run: script/clone_all_rspec_repos | |
- run: bundle install --standalone | |
- run: bundle binstubs --all | |
- run: script/run_build | |
- name: Store coverage output for reference | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: coverage-report-${{ matrix.ruby }} | |
path: coverage/index.html | |
retention-days: 14 | |
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: | |
container: | |
- version: "JRuby 1.7" | |
tag: ghcr.io/rspec/docker-ci:jruby-1.7 | |
- version: "JRuby 1.7 1.8 mode" | |
tag: ghcr.io/rspec/docker-ci:jruby-1.7 | |
jruby_opts: '--dev --1.8' | |
pre: gem uninstall jruby-openssl | |
options: "--add-host rubygems.org:151.101.129.227 --add-host api.rubygems.org:151.101.129.227" | |
- version: "JRuby 9.1.17.0" | |
tag: ghcr.io/rspec/docker-ci:jruby-9.1.17.0 | |
options: "--add-host rubygems.org:151.101.129.227 --add-host api.rubygems.org:151.101.129.227" | |
env: | |
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true | |
LEGACY_CI: true | |
JRUBY_OPTS: ${{ matrix.container.jruby_opts || '--dev' }} | |
NO_COVERAGE: true | |
steps: | |
- uses: actions/checkout@v3 | |
- run: ${{ matrix.container.pre }} | |
- run: script/legacy_setup.sh | |
- run: ${{ matrix.container.post }} | |
- run: bundle exec bin/rspec spec/rspec/support/spec/stderr_splitter_spec.rb:103 |