diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2016-12-28 11:00:48 +0000 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2016-12-29 01:23:08 +0000 |
commit | 78a40a3183033ef12367ef2e654359f97b4301c0 (patch) | |
tree | 50042359c4044d256ede077847efb6f303f95196 | |
parent | b457b5e7e63b50ab630243a10f5ecf183ca27c49 (diff) | |
download | gitlab-ce-groundwork-for-crossbrowser-testing.tar.gz |
Add separate knapsack buildsgroundwork-for-crossbrowser-testing
-rw-r--r-- | .gitlab-ci.yml | 215 | ||||
-rw-r--r-- | Gemfile | 2 | ||||
-rw-r--r-- | Gemfile.lock | 4 |
3 files changed, 154 insertions, 67 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c034fa61f7e..62df48dc465 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -64,11 +64,13 @@ stages: - JOB_NAME=( $CI_BUILD_NAME ) - export CI_NODE_INDEX=${JOB_NAME[1]} - export CI_NODE_TOTAL=${JOB_NAME[2]} + - export BROWSER=${JOB_NAME[3]} + - echo ${PATH} + - case "${BROWSER}" in "firefox") wget https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-linux64.tar.gz && unzip geckodriver-v0.11.1-linux64.tar.gz -d /usr/local/bin ;; "chrome") wget http://chromedriver.storage.googleapis.com/2.9/chromedriver_linux64.zip && unzip chromedriver_linux64.zip -d /usr/local/bin ;; "internet_explorer") wget http://selenium-release.storage.googleapis.com/3.0/IEDriverServer_x64_3.0.0.zip && unzip IEDriverServer_x64_3.0.0.zip -d /usr/local/bin ;; "safari") echo "safari" ;; esac - export KNAPSACK_REPORT_PATH=knapsack/rspec_node_${CI_NODE_INDEX}_${CI_NODE_TOTAL}_report.json - export KNAPSACK_GENERATE_REPORT=true - cp knapsack/rspec_report.json ${KNAPSACK_REPORT_PATH} - - declare -a browsers=('chrome' 'firefox' 'safari' 'internet_explorer') - - for i in "${arr[@]}"; do BROWSER="$i" knapsack rspec "--color --format documentation"; done; + - knapsack rspec "--color --format documentation" artifacts: expire_in: 31d paths: @@ -131,37 +133,122 @@ update-knapsack: - master@gitlab/gitlabhq - master@gitlab/gitlab-ee -rspec 0 20: *rspec-knapsack -rspec 1 20: *rspec-knapsack -rspec 2 20: *rspec-knapsack -rspec 3 20: *rspec-knapsack -rspec 4 20: *rspec-knapsack -rspec 5 20: *rspec-knapsack -rspec 6 20: *rspec-knapsack -rspec 7 20: *rspec-knapsack -rspec 8 20: *rspec-knapsack -rspec 9 20: *rspec-knapsack -rspec 10 20: *rspec-knapsack -rspec 11 20: *rspec-knapsack -rspec 12 20: *rspec-knapsack -rspec 13 20: *rspec-knapsack -rspec 14 20: *rspec-knapsack -rspec 15 20: *rspec-knapsack -rspec 16 20: *rspec-knapsack -rspec 17 20: *rspec-knapsack -rspec 18 20: *rspec-knapsack -rspec 19 20: *rspec-knapsack - -spinach 0 10: *spinach-knapsack -spinach 1 10: *spinach-knapsack -spinach 2 10: *spinach-knapsack -spinach 3 10: *spinach-knapsack -spinach 4 10: *spinach-knapsack -spinach 5 10: *spinach-knapsack -spinach 6 10: *spinach-knapsack -spinach 7 10: *spinach-knapsack -spinach 8 10: *spinach-knapsack -spinach 9 10: *spinach-knapsack +# rspec 0 20: *rspec-knapsack +# rspec 1 20: *rspec-knapsack +# rspec 2 20: *rspec-knapsack +# rspec 3 20: *rspec-knapsack +# rspec 4 20: *rspec-knapsack +# rspec 5 20: *rspec-knapsack +# rspec 6 20: *rspec-knapsack +# rspec 7 20: *rspec-knapsack +# rspec 8 20: *rspec-knapsack +# rspec 9 20: *rspec-knapsack +# rspec 10 20: *rspec-knapsack +# rspec 11 20: *rspec-knapsack +# rspec 12 20: *rspec-knapsack +# rspec 13 20: *rspec-knapsack +# rspec 14 20: *rspec-knapsack +# rspec 15 20: *rspec-knapsack +# rspec 16 20: *rspec-knapsack +# rspec 17 20: *rspec-knapsack +# rspec 18 20: *rspec-knapsack +# rspec 19 20: *rspec-knapsack + + +rspec 0 20 firefox: *rspec-knapsack +# rspec 1 20 firefox: *rspec-knapsack +# rspec 2 20 firefox: *rspec-knapsack +# rspec 3 20 firefox: *rspec-knapsack +# rspec 4 20 firefox: *rspec-knapsack +# rspec 5 20 firefox: *rspec-knapsack +# rspec 6 20 firefox: *rspec-knapsack +# rspec 7 20 firefox: *rspec-knapsack +# rspec 8 20 firefox: *rspec-knapsack +# rspec 9 20 firefox: *rspec-knapsack +# rspec 10 20 firefox: *rspec-knapsack +# rspec 11 20 firefox: *rspec-knapsack +# rspec 12 20 firefox: *rspec-knapsack +# rspec 13 20 firefox: *rspec-knapsack +# rspec 14 20 firefox: *rspec-knapsack +# rspec 15 20 firefox: *rspec-knapsack +# rspec 16 20 firefox: *rspec-knapsack +# rspec 17 20 firefox: *rspec-knapsack +# rspec 18 20 firefox: *rspec-knapsack +# rspec 19 20 firefox: *rspec-knapsack + +rspec 0 20 chrome: *rspec-knapsack +# rspec 1 20 chrome: *rspec-knapsack +# rspec 2 20 chrome: *rspec-knapsack +# rspec 3 20 chrome: *rspec-knapsack +# rspec 4 20 chrome: *rspec-knapsack +# rspec 5 20 chrome: *rspec-knapsack +# rspec 6 20 chrome: *rspec-knapsack +# rspec 7 20 chrome: *rspec-knapsack +# rspec 8 20 chrome: *rspec-knapsack +# rspec 9 20 chrome: *rspec-knapsack +# rspec 10 20 chrome: *rspec-knapsack +# rspec 11 20 chrome: *rspec-knapsack +# rspec 12 20 chrome: *rspec-knapsack +# rspec 13 20 chrome: *rspec-knapsack +# rspec 14 20 chrome: *rspec-knapsack +# rspec 15 20 chrome: *rspec-knapsack +# rspec 16 20 chrome: *rspec-knapsack +# rspec 17 20 chrome: *rspec-knapsack +# rspec 18 20 chrome: *rspec-knapsack +# rspec 19 20 chrome: *rspec-knapsack + +rspec 0 20 safari: *rspec-knapsack +# rspec 1 20 safari: *rspec-knapsack +# rspec 2 20 safari: *rspec-knapsack +# rspec 3 20 safari: *rspec-knapsack +# rspec 4 20 safari: *rspec-knapsack +# rspec 5 20 safari: *rspec-knapsack +# rspec 6 20 safari: *rspec-knapsack +# rspec 7 20 safari: *rspec-knapsack +# rspec 8 20 safari: *rspec-knapsack +# rspec 9 20 safari: *rspec-knapsack +# rspec 10 20 safari: *rspec-knapsack +# rspec 11 20 safari: *rspec-knapsack +# rspec 12 20 safari: *rspec-knapsack +# rspec 13 20 safari: *rspec-knapsack +# rspec 14 20 safari: *rspec-knapsack +# rspec 15 20 safari: *rspec-knapsack +# rspec 16 20 safari: *rspec-knapsack +# rspec 17 20 safari: *rspec-knapsack +# rspec 18 20 safari: *rspec-knapsack +# rspec 19 20 safari: *rspec-knapsack + +rspec 0 20 internet_explorer: *rspec-knapsack +# rspec 1 20 internet_explorer: *rspec-knapsack +# rspec 2 20 internet_explorer: *rspec-knapsack +# rspec 3 20 internet_explorer: *rspec-knapsack +# rspec 4 20 internet_explorer: *rspec-knapsack +# rspec 5 20 internet_explorer: *rspec-knapsack +# rspec 6 20 internet_explorer: *rspec-knapsack +# rspec 7 20 internet_explorer: *rspec-knapsack +# rspec 8 20 internet_explorer: *rspec-knapsack +# rspec 9 20 internet_explorer: *rspec-knapsack +# rspec 10 20 internet_explorer: *rspec-knapsack +# rspec 11 20 internet_explorer: *rspec-knapsack +# rspec 12 20 internet_explorer: *rspec-knapsack +# rspec 13 20 internet_explorer: *rspec-knapsack +# rspec 14 20 internet_explorer: *rspec-knapsack +# rspec 15 20 internet_explorer: *rspec-knapsack +# rspec 16 20 internet_explorer: *rspec-knapsack +# rspec 17 20 internet_explorer: *rspec-knapsack +# rspec 18 20 internet_explorer: *rspec-knapsack +# rspec 19 20 internet_explorer: *rspec-knapsack + +# spinach 0 10: *spinach-knapsack +# spinach 1 10: *spinach-knapsack +# spinach 2 10: *spinach-knapsack +# spinach 3 10: *spinach-knapsack +# spinach 4 10: *spinach-knapsack +# spinach 5 10: *spinach-knapsack +# spinach 6 10: *spinach-knapsack +# spinach 7 10: *spinach-knapsack +# spinach 8 10: *spinach-knapsack +# spinach 9 10: *spinach-knapsack # Execute all testing suites against Ruby 2.1 .ruby-21: &ruby-21 @@ -187,37 +274,37 @@ spinach 9 10: *spinach-knapsack <<: *dedicated-runner <<: *ruby-21 -rspec 0 20 ruby21: *rspec-knapsack-ruby21 -rspec 1 20 ruby21: *rspec-knapsack-ruby21 -rspec 2 20 ruby21: *rspec-knapsack-ruby21 -rspec 3 20 ruby21: *rspec-knapsack-ruby21 -rspec 4 20 ruby21: *rspec-knapsack-ruby21 -rspec 5 20 ruby21: *rspec-knapsack-ruby21 -rspec 6 20 ruby21: *rspec-knapsack-ruby21 -rspec 7 20 ruby21: *rspec-knapsack-ruby21 -rspec 8 20 ruby21: *rspec-knapsack-ruby21 -rspec 9 20 ruby21: *rspec-knapsack-ruby21 -rspec 10 20 ruby21: *rspec-knapsack-ruby21 -rspec 11 20 ruby21: *rspec-knapsack-ruby21 -rspec 12 20 ruby21: *rspec-knapsack-ruby21 -rspec 13 20 ruby21: *rspec-knapsack-ruby21 -rspec 14 20 ruby21: *rspec-knapsack-ruby21 -rspec 15 20 ruby21: *rspec-knapsack-ruby21 -rspec 16 20 ruby21: *rspec-knapsack-ruby21 -rspec 17 20 ruby21: *rspec-knapsack-ruby21 -rspec 18 20 ruby21: *rspec-knapsack-ruby21 -rspec 19 20 ruby21: *rspec-knapsack-ruby21 - -spinach 0 10 ruby21: *spinach-knapsack-ruby21 -spinach 1 10 ruby21: *spinach-knapsack-ruby21 -spinach 2 10 ruby21: *spinach-knapsack-ruby21 -spinach 3 10 ruby21: *spinach-knapsack-ruby21 -spinach 4 10 ruby21: *spinach-knapsack-ruby21 -spinach 5 10 ruby21: *spinach-knapsack-ruby21 -spinach 6 10 ruby21: *spinach-knapsack-ruby21 -spinach 7 10 ruby21: *spinach-knapsack-ruby21 -spinach 8 10 ruby21: *spinach-knapsack-ruby21 -spinach 9 10 ruby21: *spinach-knapsack-ruby21 +# rspec 0 20 ruby21: *rspec-knapsack-ruby21 +# rspec 1 20 ruby21: *rspec-knapsack-ruby21 +# rspec 2 20 ruby21: *rspec-knapsack-ruby21 +# rspec 3 20 ruby21: *rspec-knapsack-ruby21 +# rspec 4 20 ruby21: *rspec-knapsack-ruby21 +# rspec 5 20 ruby21: *rspec-knapsack-ruby21 +# rspec 6 20 ruby21: *rspec-knapsack-ruby21 +# rspec 7 20 ruby21: *rspec-knapsack-ruby21 +# rspec 8 20 ruby21: *rspec-knapsack-ruby21 +# rspec 9 20 ruby21: *rspec-knapsack-ruby21 +# rspec 10 20 ruby21: *rspec-knapsack-ruby21 +# rspec 11 20 ruby21: *rspec-knapsack-ruby21 +# rspec 12 20 ruby21: *rspec-knapsack-ruby21 +# rspec 13 20 ruby21: *rspec-knapsack-ruby21 +# rspec 14 20 ruby21: *rspec-knapsack-ruby21 +# rspec 15 20 ruby21: *rspec-knapsack-ruby21 +# rspec 16 20 ruby21: *rspec-knapsack-ruby21 +# rspec 17 20 ruby21: *rspec-knapsack-ruby21 +# rspec 18 20 ruby21: *rspec-knapsack-ruby21 +# rspec 19 20 ruby21: *rspec-knapsack-ruby21 + +# spinach 0 10 ruby21: *spinach-knapsack-ruby21 +# spinach 1 10 ruby21: *spinach-knapsack-ruby21 +# spinach 2 10 ruby21: *spinach-knapsack-ruby21 +# spinach 3 10 ruby21: *spinach-knapsack-ruby21 +# spinach 4 10 ruby21: *spinach-knapsack-ruby21 +# spinach 5 10 ruby21: *spinach-knapsack-ruby21 +# spinach 6 10 ruby21: *spinach-knapsack-ruby21 +# spinach 7 10 ruby21: *spinach-knapsack-ruby21 +# spinach 8 10 ruby21: *spinach-knapsack-ruby21 +# spinach 9 10 ruby21: *spinach-knapsack-ruby21 # Other generic tests @@ -289,7 +289,7 @@ group :development, :test do gem 'capybara', '~> 2.6.2' gem 'capybara-screenshot', '~> 1.0.0' gem 'poltergeist', '~> 1.9.0' - gem 'selenium-webdriver', '~> 2.53.4' + gem 'selenium-webdriver', '~> 3.0.4' gem 'teaspoon', '~> 1.1.0' gem 'teaspoon-jasmine', '~> 2.2.0' diff --git a/Gemfile.lock b/Gemfile.lock index 2bc6e868955..1dacf05791e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -663,7 +663,7 @@ GEM activesupport (>= 3.1) select2-rails (3.5.9.3) thor (~> 0.14) - selenium-webdriver (2.53.4) + selenium-webdriver (3.0.5) childprocess (~> 0.5) rubyzip (~> 1.0) websocket (~> 1.0) @@ -954,7 +954,7 @@ DEPENDENCIES scss_lint (~> 0.47.0) seed-fu (~> 2.3.5) select2-rails (~> 3.5.9) - selenium-webdriver (~> 2.53.4) + selenium-webdriver (~> 3.0.4) sentry-raven (~> 2.0.0) settingslogic (~> 2.0.9) sham_rack (~> 1.3.6) |