mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
CI: run Action Cable browser tests in Sauce Labs
Allow failures until test runs are consistently stable, not hanging. Closes #24943. Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
This commit is contained in:
parent
bf219714dc
commit
8cfce058d9
6 changed files with 61 additions and 3 deletions
|
@ -28,6 +28,11 @@ before_install:
|
||||||
before_script:
|
before_script:
|
||||||
- bundle update
|
- bundle update
|
||||||
|
|
||||||
|
# Set Sauce Labs username and access key. Obfuscated, purposefully not encrypted.
|
||||||
|
# Decodes to e.g. `export VARIABLE=VALUE`
|
||||||
|
- $(base64 --decode <<< "ZXhwb3J0IFNBVUNFX0FDQ0VTU19LRVk9YTAzNTM0M2YtZTkyMi00MGIzLWFhM2MtMDZiM2VhNjM1YzQ4")
|
||||||
|
- $(base64 --decode <<< "ZXhwb3J0IFNBVUNFX1VTRVJOQU1FPXJ1YnlvbnJhaWxz")
|
||||||
|
|
||||||
script: 'ci/travis.rb'
|
script: 'ci/travis.rb'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
@ -36,6 +41,8 @@ env:
|
||||||
- "GEM=ap"
|
- "GEM=ap"
|
||||||
- "GEM=ac"
|
- "GEM=ac"
|
||||||
- "GEM=ac FAYE=1"
|
- "GEM=ac FAYE=1"
|
||||||
|
- "GEM=ac:integration"
|
||||||
|
- "GEM=ac:integration FAYE=1"
|
||||||
- "GEM=am,amo,as,av,aj"
|
- "GEM=am,amo,as,av,aj"
|
||||||
- "GEM=as PRESERVE_TIMEZONES=1"
|
- "GEM=as PRESERVE_TIMEZONES=1"
|
||||||
- "GEM=ar:mysql2"
|
- "GEM=ar:mysql2"
|
||||||
|
@ -65,6 +72,8 @@ matrix:
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- rvm: ruby-head
|
- rvm: ruby-head
|
||||||
- rvm: jruby-9.0.5.0
|
- rvm: jruby-9.0.5.0
|
||||||
|
- env: "GEM=ac:integration"
|
||||||
|
- env: "GEM=ac:integration FAYE=1"
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
|
|
2
Gemfile
2
Gemfile
|
@ -64,7 +64,9 @@ group :cable do
|
||||||
gem 'redis', require: false
|
gem 'redis', require: false
|
||||||
|
|
||||||
gem 'faye-websocket', require: false
|
gem 'faye-websocket', require: false
|
||||||
|
|
||||||
gem 'blade', '~> 0.5.5', require: false
|
gem 'blade', '~> 0.5.5', require: false
|
||||||
|
gem 'blade-sauce_labs_plugin', github: 'javan/blade-sauce_labs_plugin', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
# Add your own local bundler stuff.
|
# Add your own local bundler stuff.
|
||||||
|
|
23
Gemfile.lock
23
Gemfile.lock
|
@ -21,6 +21,15 @@ GIT
|
||||||
activerecord (>= 3.0, < 5.1)
|
activerecord (>= 3.0, < 5.1)
|
||||||
delayed_job (>= 3.0, < 5)
|
delayed_job (>= 3.0, < 5)
|
||||||
|
|
||||||
|
GIT
|
||||||
|
remote: git://github.com/javan/blade-sauce_labs_plugin.git
|
||||||
|
revision: dd4230c556aaa19b62cca757d6faeb2bb6bf95e7
|
||||||
|
specs:
|
||||||
|
blade-sauce_labs_plugin (0.5.1)
|
||||||
|
childprocess
|
||||||
|
faraday
|
||||||
|
selenium-webdriver
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/rails/coffee-rails.git
|
remote: git://github.com/rails/coffee-rails.git
|
||||||
revision: aa2e623cbda4f3c789a0a15d1f707239e68f5736
|
revision: aa2e623cbda4f3c789a0a15d1f707239e68f5736
|
||||||
|
@ -134,6 +143,8 @@ GEM
|
||||||
bunny (2.2.2)
|
bunny (2.2.2)
|
||||||
amq-protocol (>= 2.0.1)
|
amq-protocol (>= 2.0.1)
|
||||||
byebug (8.2.5)
|
byebug (8.2.5)
|
||||||
|
childprocess (0.5.9)
|
||||||
|
ffi (~> 1.0, >= 1.0.11)
|
||||||
coffee-script (2.4.1)
|
coffee-script (2.4.1)
|
||||||
coffee-script-source
|
coffee-script-source
|
||||||
execjs
|
execjs
|
||||||
|
@ -161,6 +172,8 @@ GEM
|
||||||
eventmachine (1.2.0.1-x64-mingw32)
|
eventmachine (1.2.0.1-x64-mingw32)
|
||||||
eventmachine (1.2.0.1-x86-mingw32)
|
eventmachine (1.2.0.1-x86-mingw32)
|
||||||
execjs (2.6.0)
|
execjs (2.6.0)
|
||||||
|
faraday (0.9.2)
|
||||||
|
multipart-post (>= 1.2, < 3)
|
||||||
faye (1.1.2)
|
faye (1.1.2)
|
||||||
cookiejar (>= 0.3.0)
|
cookiejar (>= 0.3.0)
|
||||||
em-http-request (>= 0.3.0)
|
em-http-request (>= 0.3.0)
|
||||||
|
@ -206,6 +219,7 @@ GEM
|
||||||
metaclass (~> 0.0.1)
|
metaclass (~> 0.0.1)
|
||||||
mono_logger (1.1.0)
|
mono_logger (1.1.0)
|
||||||
multi_json (1.12.0)
|
multi_json (1.12.0)
|
||||||
|
multipart-post (2.0.0)
|
||||||
mustache (1.0.3)
|
mustache (1.0.3)
|
||||||
mysql2 (0.4.4)
|
mysql2 (0.4.4)
|
||||||
mysql2 (0.4.4-x64-mingw32)
|
mysql2 (0.4.4-x64-mingw32)
|
||||||
|
@ -262,10 +276,15 @@ GEM
|
||||||
redis (~> 3.0)
|
redis (~> 3.0)
|
||||||
resque (~> 1.25)
|
resque (~> 1.25)
|
||||||
rufus-scheduler (~> 3.2)
|
rufus-scheduler (~> 3.2)
|
||||||
|
rubyzip (1.2.0)
|
||||||
rufus-scheduler (3.2.1)
|
rufus-scheduler (3.2.1)
|
||||||
sdoc (0.4.1)
|
sdoc (0.4.1)
|
||||||
json (~> 1.7, >= 1.7.7)
|
json (~> 1.7, >= 1.7.7)
|
||||||
rdoc (~> 4.0)
|
rdoc (~> 4.0)
|
||||||
|
selenium-webdriver (2.53.0)
|
||||||
|
childprocess (~> 0.5)
|
||||||
|
rubyzip (~> 1.0)
|
||||||
|
websocket (~> 1.0)
|
||||||
sequel (4.34.0)
|
sequel (4.34.0)
|
||||||
serverengine (1.5.11)
|
serverengine (1.5.11)
|
||||||
sigdump (~> 0.2.2)
|
sigdump (~> 0.2.2)
|
||||||
|
@ -317,6 +336,7 @@ GEM
|
||||||
json
|
json
|
||||||
nokogiri
|
nokogiri
|
||||||
wdm (0.1.1)
|
wdm (0.1.1)
|
||||||
|
websocket (1.2.3)
|
||||||
websocket-driver (0.6.3)
|
websocket-driver (0.6.3)
|
||||||
websocket-extensions (>= 0.1.0)
|
websocket-extensions (>= 0.1.0)
|
||||||
websocket-extensions (0.1.2)
|
websocket-extensions (0.1.2)
|
||||||
|
@ -334,6 +354,7 @@ DEPENDENCIES
|
||||||
bcrypt (~> 3.1.11)
|
bcrypt (~> 3.1.11)
|
||||||
benchmark-ips
|
benchmark-ips
|
||||||
blade (~> 0.5.5)
|
blade (~> 0.5.5)
|
||||||
|
blade-sauce_labs_plugin!
|
||||||
byebug
|
byebug
|
||||||
coffee-rails!
|
coffee-rails!
|
||||||
dalli (>= 2.2.1)
|
dalli (>= 2.2.1)
|
||||||
|
@ -378,4 +399,4 @@ DEPENDENCIES
|
||||||
wdm (>= 0.1.0)
|
wdm (>= 0.1.0)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.11.2
|
1.12.4
|
||||||
|
|
|
@ -24,9 +24,13 @@ namespace :test do
|
||||||
end or raise "Failures"
|
end or raise "Failures"
|
||||||
end
|
end
|
||||||
|
|
||||||
task :javascript do
|
task :integration do
|
||||||
|
if ENV['CI']
|
||||||
|
Blade.start(interface: :ci)
|
||||||
|
else
|
||||||
Blade.start(interface: :runner)
|
Blade.start(interface: :runner)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :assets do
|
namespace :assets do
|
||||||
|
|
|
@ -11,3 +11,24 @@ build:
|
||||||
- action_cable.js
|
- action_cable.js
|
||||||
path: lib/assets/compiled
|
path: lib/assets/compiled
|
||||||
clean: true
|
clean: true
|
||||||
|
|
||||||
|
plugins:
|
||||||
|
sauce_labs:
|
||||||
|
browsers:
|
||||||
|
Google Chrome:
|
||||||
|
os: Mac, Windows
|
||||||
|
version: -2
|
||||||
|
Firefox:
|
||||||
|
os: Mac, Windows
|
||||||
|
version: -2
|
||||||
|
Safari:
|
||||||
|
platform: Mac
|
||||||
|
version: -3
|
||||||
|
Microsoft Edge:
|
||||||
|
version: -2
|
||||||
|
Internet Explorer:
|
||||||
|
version: 11
|
||||||
|
iPhone:
|
||||||
|
version: [9.2, 8.4]
|
||||||
|
Motorola Droid 4 Emulator:
|
||||||
|
version: [5.1, 4.4]
|
||||||
|
|
|
@ -148,6 +148,7 @@ ENV['GEM'].split(',').each do |gem|
|
||||||
next if ENV['TRAVIS_PULL_REQUEST'] && ENV['TRAVIS_PULL_REQUEST'] != 'false' && isolated
|
next if ENV['TRAVIS_PULL_REQUEST'] && ENV['TRAVIS_PULL_REQUEST'] != 'false' && isolated
|
||||||
next if gem == 'railties' && isolated
|
next if gem == 'railties' && isolated
|
||||||
next if gem == 'ac' && isolated
|
next if gem == 'ac' && isolated
|
||||||
|
next if gem == 'ac:integration' && isolated
|
||||||
next if gem == 'aj:integration' && isolated
|
next if gem == 'aj:integration' && isolated
|
||||||
next if gem == 'guides' && isolated
|
next if gem == 'guides' && isolated
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue