summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2016-12-28 11:00:48 +0000
committerLuke "Jared" Bennett <lbennett@gitlab.com>2016-12-29 01:23:08 +0000
commit78a40a3183033ef12367ef2e654359f97b4301c0 (patch)
tree50042359c4044d256ede077847efb6f303f95196
parentb457b5e7e63b50ab630243a10f5ecf183ca27c49 (diff)
downloadgitlab-ce-groundwork-for-crossbrowser-testing.tar.gz
Add separate knapsack buildsgroundwork-for-crossbrowser-testing
-rw-r--r--.gitlab-ci.yml215
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock4
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
diff --git a/Gemfile b/Gemfile
index 38cd13bf388..23c52a99a65 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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)