Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move MRI build to Github Actions #2404

Merged
merged 9 commits into from
Nov 23, 2020
95 changes: 95 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: RSpec CI
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
pull_request:
branches:
- '*'
jobs:
test:
name: 'Ruby: ${{ matrix.ruby }}, Rails: ${{ matrix.env.RAILS_VERSION }}'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
# Rails 6.0 builds >= 2.5.0
- ruby: 3.0.0-preview1
allow_failure: true
env:
RAILS_VERSION: '~> 6.0.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
- ruby: 2.6.6
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.5.8
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.4.10
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.3.8
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.2.10
allow_failure: true
env:
RAILS_VERSION: '~> 5.2.0'
- ruby: 2.2.10
env:
RAILS_VERSION: '5-2-stable'
# Rails 5.1 Builds >= 2.2.2
- ruby: 2.6.6
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.5.8
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.4.10
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.3.8
env:
RAILS_VERSION: '~> 5.1.0'
- ruby: 2.2.10
env:
RAILS_VERSION: '~> 5.1.0'
# Rails 5.0 Builds >= 2.2.2
- ruby: 2.6.6
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.5.8
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.4.10
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.3.8
env:
RAILS_VERSION: '~> 5.0.0'
- ruby: 2.2.10
env:
RAILS_VERSION: '~> 5.0.0'
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: false
benoittgt marked this conversation as resolved.
Show resolved Hide resolved
- run: script/update_rubygems_and_install_bundler
- run: script/clone_all_rspec_repos
- run: bundle install --binstubs && script/run_build
env: ${{ matrix.env }}
benoittgt marked this conversation as resolved.
Show resolved Hide resolved
continue-on-error: ${{ matrix.allow_failure || false }}
53 changes: 5 additions & 48 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,66 +38,23 @@ script: "script/run_build 2>&1"

matrix:
include:
# Rails 6.0 builds >= 2.5.0
- rvm: jruby-head
jdk: oraclejdk11
env:
- RAILS_VERSION='~> 6.0.0'
- JRUBY_OPT=--dev
- JAVA_OPTS="--add-opens java.base/sun.nio.ch=org.jruby.dist --add-opens java.base/java.io=org.jruby.dist --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/javax.crypto=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED"
- rvm: ruby-3.0.0-preview1
env: RAILS_VERSION='~> 6.0.0'
allow_failure: true
- rvm: 2.7.1
env: RAILS_VERSION='~> 6.0.0'
- rvm: 2.6.6
env: RAILS_VERSION='~> 6.0.0'
- rvm: 2.5.8
env: RAILS_VERSION='~> 6.0.0'

# Rails 5.2 builds >= 2.2.2
- rvm: jruby-head
jdk: oraclejdk11
env:
- RAILS_VERSION='~> 5.2.0'
- JRUBY_OPT=--dev
- JAVA_OPTS="--add-opens java.base/sun.nio.ch=org.jruby.dist --add-opens java.base/java.io=org.jruby.dist --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/javax.crypto=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED"
- rvm: 2.6.6
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.5.8
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.4.10
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.3.8
env: RAILS_VERSION='~> 5.2.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.2.0'
allow_failure: true
- rvm: 2.2.10
env: RAILS_VERSION='5-2-stable'

# Rails 5.1 Builds >= 2.2.2
- rvm: 2.6.6
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.5.8
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.4.10
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.3.8
env: RAILS_VERSION='~> 5.1.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.1.0'

# Rails 5.0 Builds >= 2.2.2
- rvm: 2.6.6
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.5.8
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.4.10
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.3.8
env: RAILS_VERSION='~> 5.0.0'
- rvm: 2.2.10
env: RAILS_VERSION='~> 5.0.0'

fast_finish: true

branches:
only:
- master
- /^\d+-\d+-maintenance$/
benoittgt marked this conversation as resolved.
Show resolved Hide resolved
13 changes: 8 additions & 5 deletions spec/generators/rspec/scaffold/scaffold_generator_spec.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Generators are not automatically loaded by Rails
require 'generators/rspec/scaffold/scaffold_generator'
require 'support/generators'
require 'rspec/support/spec/in_sub_process'

RSpec.describe Rspec::Generators::ScaffoldGenerator, type: :generator do
include RSpec::Support::InSubProcess
setup_default_destination

describe 'standard request specs' do
Expand Down Expand Up @@ -41,12 +43,13 @@
end

describe 'in an engine' do
before do
allow_any_instance_of(::Rails::Generators::NamedBase).to receive(:mountable_engine?).and_return(true)
run_generator %w[posts --request_specs]
it 'generates files with Engine url_helpers' do
in_sub_process do
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏

Wondering why it was wiping out the original method along the way.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know 🤔

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect, and this is just a theory on my part, because when it stubs the method doesn't exist, it's then loaded, and the then stub blows it away as it was never there originally.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤯 😱
Reminds me of #2394 (comment)

allow_any_instance_of(::Rails::Generators::NamedBase).to receive(:mountable_engine?).and_return(true)
run_generator %w[posts --request_specs]
is_expected.to contain('Engine.routes.url_helpers')
end
end

it { is_expected.to contain('Engine.routes.url_helpers') }
end
end

Expand Down