Maintenance: Switch to official Selenium docker images.

This commit is contained in:
Martin Gruner 2021-08-11 11:29:56 +02:00
parent 55ed75cfd7
commit 4770e80f03
15 changed files with 140 additions and 76 deletions

View File

@ -23,11 +23,7 @@ variables:
Z_LOCALES: "en-us:de-de"
# Browser tests and variables
RAILS_SERVE_STATIC_FILES: "true"
REMOTE_URL: "http://selenium:24444/wd/hub"
TZ: "Europe/London"
# docker elgalu/selenium variables for parallel browser instance creation
MAX_INSTANCES: "50"
MAX_SESSIONS: "50"
# docker-imap-devel variables required for browser tests
MAILNAME: "mail.test.dc.zammad.com"
MAILBOX_INIT: "zammad@mail.test.dc.zammad.com:zammad"

View File

@ -13,6 +13,22 @@
ES_INDEX_RAND: "true"
ES_URL: "http://elasticsearch:9200"
.variables_selenium_firefox: &variables_selenium_firefox
variables:
REMOTE_URL: "http://selenium-firefox:4444/wd/hub"
BROWSER: "firefox"
# Settings for Selenium 3:
NODE_MAX_INSTANCES: "5"
NODE_MAX_SESSION: "5"
.variables_selenium_chrome: &variables_selenium_chrome
variables:
REMOTE_URL: "http://selenium-chrome:4444/wd/hub"
BROWSER: chrome
# Settings for Selenium 3:
NODE_MAX_INSTANCES: "5"
NODE_MAX_SESSION: "5"
.variables_app_restart_cmd: &variables_app_restart_cmd
variables:
APP_RESTART_CMD: "bundle exec rake environment zammad:ci:app:restart"
@ -56,9 +72,13 @@
name: registry.znuny.com/docker/zammad-elasticsearch:$ELASTICSEARCH_TAG
alias: elasticsearch
.docker_selenium: &docker_selenium
name: registry.znuny.com/docker/zammad-selenium:stable
alias: selenium
.docker_selenium_chrome: &docker_selenium_chrome
name: registry.znuny.com/docker/zammad-selenium-chrome:stable
alias: selenium-chrome
.docker_selenium_firefox: &docker_selenium_firefox
name: registry.znuny.com/docker/zammad-selenium-firefox:stable
alias: selenium-firefox
.docker_imap: &docker_imap
name: registry.znuny.com/docker/zammad-imap:stable
@ -115,10 +135,19 @@
- <<: *docker_redis
- <<: *docker_memcached
.services_postgresql_selenium: &services_postgresql_selenium
.services_postgresql_selenium_chrome: &services_postgresql_selenium_chrome
extends:
- .variables_selenium_chrome
services:
- <<: *docker_postgresql
- <<: *docker_selenium
- <<: *docker_selenium_chrome
.services_postgresql_selenium_firefox: &services_postgresql_selenium_firefox
extends:
- .variables_selenium_firefox
services:
- <<: *docker_postgresql
- <<: *docker_selenium_firefox
.services_mysql_postgresql_imap: &services_mysql_postgresql_imap
services:
@ -134,17 +163,33 @@
- <<: *docker_postgresql
- <<: *docker_elasticsearch
.services_mysql_postgresql_elasticsearch_selenium_imap: &services_mysql_postgresql_elasticsearch_selenium_imap
.services_mysql_postgresql_elasticsearch_selenium_chrome_imap: &services_mysql_postgresql_elasticsearch_selenium_chrome_imap
extends:
- .variables_selenium_chrome
variables:
ELASTICSEARCH_TAG: 'stable'
services:
- <<: *docker_mysql
- <<: *docker_postgresql
- <<: *docker_elasticsearch
- <<: *docker_selenium
- <<: *docker_selenium_chrome
- <<: *docker_imap
.services_mysql_postgresql_elasticsearch_selenium_imap_redis_memcached: &services_mysql_postgresql_elasticsearch_selenium_imap_redis_memcached
.services_mysql_postgresql_elasticsearch_selenium_firefox_imap: &services_mysql_postgresql_elasticsearch_selenium_firefox_imap
extends:
- .variables_selenium_firefox
variables:
ELASTICSEARCH_TAG: 'stable'
services:
- <<: *docker_mysql
- <<: *docker_postgresql
- <<: *docker_elasticsearch
- <<: *docker_selenium_firefox
- <<: *docker_imap
.services_mysql_postgresql_elasticsearch_selenium_chrome_imap_redis_memcached: &services_mysql_postgresql_elasticsearch_selenium_chrome_imap_redis_memcached
extends:
- .variables_selenium_chrome
variables:
ELASTICSEARCH_TAG: 'stable'
REDIS_URL: "redis://redis:6379"
@ -153,11 +198,28 @@
- <<: *docker_mysql
- <<: *docker_postgresql
- <<: *docker_elasticsearch
- <<: *docker_selenium
- <<: *docker_selenium_chrome
- <<: *docker_imap
- <<: *docker_redis
- <<: *docker_memcached
.services_mysql_postgresql_elasticsearch_selenium_firefox_imap_redis_memcached: &services_mysql_postgresql_elasticsearch_selenium_firefox_imap_redis_memcached
extends:
- .variables_selenium_firefox
variables:
ELASTICSEARCH_TAG: 'stable'
REDIS_URL: "redis://redis:6379"
MEMCACHE_SERVERS: "memcached"
services:
- <<: *docker_mysql
- <<: *docker_postgresql
- <<: *docker_elasticsearch
- <<: *docker_selenium_firefox
- <<: *docker_imap
- <<: *docker_redis
- <<: *docker_memcached
.rules_integration_manual_start: &rules_integration_manual_start
rules:
- if: $CI_MERGE_REQUEST_ID

View File

@ -19,7 +19,6 @@ include:
- .env_base
- .variables_es
- .variables_app_restart_cmd
- .services_mysql_postgresql_elasticsearch_selenium_imap_redis_memcached
variables:
RAILS_ENV: "production"
script:
@ -28,6 +27,16 @@ include:
- bundle exec rake zammad:ci:test:start[with_elasticsearch]
- time bundle exec rails test --fail-fast test/browser
.template_browser-core_chrome: &template_browser-core_chrome
extends:
- .template_browser-core
- .services_mysql_postgresql_elasticsearch_selenium_chrome_imap_redis_memcached
.template_browser-core_firefox: &template_browser-core_firefox
extends:
- .template_browser-core
- .services_mysql_postgresql_elasticsearch_selenium_firefox_imap_redis_memcached
.template_browser-core_autowizard: &template_browser-core_autowizard
stage: browser-core
dependencies:
@ -35,7 +44,6 @@ include:
extends:
- .env_base
- .variables_app_restart_cmd
- .services_postgresql_selenium
variables:
RAILS_ENV: "production"
AUTO_WIZARD_FILE: "contrib/auto_wizard_example.json"
@ -46,6 +54,16 @@ include:
- bundle exec rake zammad:ci:test:start
- bundle exec rails test $TEST_FILE
.template_browser-core_autowizard_chrome: &template_browser-core_autowizard_chrome
extends:
- .template_browser-core_autowizard
- .services_postgresql_selenium_chrome
.template_browser-core_autowizard_firefox: &template_browser-core_autowizard_firefox
extends:
- .template_browser-core_autowizard
- .services_postgresql_selenium_firefox
.template_browser-core_api_client: &template_browser-core_api_client
stage: browser-core
dependencies:
@ -57,25 +75,30 @@ include:
variables:
RAILS_ENV: "production"
.template_browser-capybara: &template_browser-capybara
.template_browser-core_capybara: &template_browser-core_capybara
stage: browser-core
dependencies:
- browser:build
extends:
- .env_base
- .variables_es
- .services_mysql_postgresql_elasticsearch_selenium_imap_redis_memcached
variables:
RAILS_ENV: "test"
REDIS_URL: "redis://redis:6379"
.template_browser-core_capybara: &template_browser-core_capybara
extends:
- .template_browser-capybara
stage: browser-core
script:
- bundle exec rake zammad:ci:test:prepare
- bundle exec rspec --fail-fast -t type:system -t ~integration
.template_browser-core_capybara_chrome: &template_browser-core_capybara_chrome
extends:
- .template_browser-core_capybara
- .services_mysql_postgresql_elasticsearch_selenium_chrome_imap_redis_memcached
.template_browser-core_capybara_firefox: &template_browser-core_capybara_firefox
extends:
- .template_browser-core_capybara
- .services_mysql_postgresql_elasticsearch_selenium_firefox_imap_redis_memcached
# we need at least one job to store and include this template
# $IGNORE is not defined
ignore:

View File

@ -1,5 +1,3 @@
autowizard_chrome:
extends:
- .template_browser-core_autowizard
variables:
BROWSER: "chrome"
- .template_browser-core_autowizard_chrome

View File

@ -1,5 +1,3 @@
autowizard_ff:
extends:
- .template_browser-core_autowizard
variables:
BROWSER: "firefox"
- .template_browser-core_autowizard_firefox

View File

@ -1,5 +1,3 @@
capybara_chrome:
extends:
- .template_browser-core_capybara
variables:
BROWSER: "chrome"
- .template_browser-core_capybara_chrome

View File

@ -1,5 +1,3 @@
capybara_ff:
extends:
- .template_browser-core_capybara
variables:
BROWSER: "firefox"
- .template_browser-core_capybara_firefox

View File

@ -1,41 +1,35 @@
1_chrome:
extends:
- .template_browser-core
- .template_browser-core_chrome
variables:
BROWSER: "chrome"
TEST_SLICE: "1"
2_chrome:
extends:
- .template_browser-core
- .template_browser-core_chrome
variables:
BROWSER: "chrome"
TEST_SLICE: "2"
3_chrome:
extends:
- .template_browser-core
- .template_browser-core_chrome
variables:
BROWSER: "chrome"
TEST_SLICE: "3"
4_chrome:
extends:
- .template_browser-core
- .template_browser-core_chrome
variables:
BROWSER: "chrome"
TEST_SLICE: "4"
5_chrome:
extends:
- .template_browser-core
- .template_browser-core_chrome
variables:
BROWSER: "chrome"
TEST_SLICE: "5"
6_chrome:
extends:
- .template_browser-core
- .template_browser-core_chrome
variables:
BROWSER: "chrome"
TEST_SLICE: "6"

View File

@ -1,42 +1,36 @@
1_firefox:
extends:
- .template_browser-core
- .template_browser-core_firefox
variables:
BROWSER: "firefox"
TEST_SLICE: "1"
2_firefox:
extends:
- .template_browser-core
- .template_browser-core_firefox
variables:
BROWSER: "firefox"
TEST_SLICE: "2"
3_firefox:
extends:
- .template_browser-core
- .template_browser-core_firefox
- .tags_mail
variables:
BROWSER: "firefox"
TEST_SLICE: "3"
4_firefox:
extends:
- .template_browser-core
- .template_browser-core_firefox
variables:
BROWSER: "firefox"
TEST_SLICE: "4"
5_firefox:
extends:
- .template_browser-core
- .template_browser-core_firefox
variables:
BROWSER: "firefox"
TEST_SLICE: "5"
6_firefox:
extends:
- .template_browser-core
- .template_browser-core_firefox
variables:
BROWSER: "firefox"
TEST_SLICE: "6"

View File

@ -15,21 +15,30 @@ include:
- .env_base
- .variables_app_restart_cmd
- .variables_es
- .services_mysql_postgresql_elasticsearch_selenium_imap_redis_memcached
variables:
RAILS_ENV: "test"
script:
- bundle exec rake zammad:ci:test:prepare
- bundle exec rspec --fail-fast --pattern "spec/system/**/*_spec.rb" -t integration
.template_browser-integration: &template_browser-integration
.template_browser-integration_capybara_chrome: &template_browser-integration_capybara_chrome
extends:
- .template_browser-integration_capybara
- .services_mysql_postgresql_elasticsearch_selenium_chrome_imap_redis_memcached
.template_browser-integration_capybara_firefox: &template_browser-integration_capybara_firefox
extends:
- .template_browser-integration_capybara
- .services_mysql_postgresql_elasticsearch_selenium_firefox_imap_redis_memcached
.template_browser-integration_chrome: &template_browser-integration_chrome
stage: browser-integration
dependencies:
- browser:build
extends:
- .env_base
- .variables_app_restart_cmd
- .services_postgresql_selenium
- .services_postgresql_selenium_chrome
variables:
RAILS_ENV: "production"
AUTO_WIZARD_FILE: "contrib/auto_wizard_test.json"
@ -39,16 +48,15 @@ include:
- bundle exec rake zammad:ci:test:start
- bundle exec rails test $TEST_FILE
.template_browser-integration_import: &template_browser-integration_import
.template_browser-integration_import_chrome: &template_browser-integration_import_chrome
stage: browser-integration
dependencies:
- browser:build
extends:
- .env_base
- .services_postgresql_selenium
- .services_postgresql_selenium_chrome
variables:
RAILS_ENV: "production"
BROWSER: "chrome"
RAILS_SERVE_STATIC_FILES: "true"
script:
- RAILS_ENV=test bundle exec rake db:create

View File

@ -1,5 +1,3 @@
integration_capybara_chrome:
extends:
- .template_browser-integration_capybara
variables:
BROWSER: "chrome"
- .template_browser-integration_capybara_chrome

View File

@ -1,5 +1,3 @@
integration_capybara_ff:
extends:
- .template_browser-integration_capybara
variables:
BROWSER: "firefox"
- .template_browser-integration_capybara_firefox

View File

@ -1,6 +1,5 @@
idoit_chrome:
extends:
- .template_browser-integration
- .template_browser-integration_chrome
variables:
BROWSER: "chrome"
TEST_FILE: "test/integration/idoit_browser_test.rb"

View File

@ -1,6 +1,6 @@
otrs_chrome:
extends:
- .template_browser-integration_import
- .template_browser-integration_import_chrome
variables:
TEST_FILE: "test/integration/otrs_import_browser_test.rb"
FF_NETWORK_PER_BUILD: 1 # https://docs.gitlab.com/runner/configuration/feature-flags.html
@ -9,8 +9,8 @@ otrs_chrome:
services:
- name: registry.znuny.com/docker/zammad-postgresql:stable
alias: postgresql
- name: registry.znuny.com/docker/zammad-selenium:stable
alias: selenium
- name: registry.znuny.com/docker/zammad-selenium-chrome:stable
alias: selenium-chrome
- name: registry.znuny.com/docker/zammad-ci-otrsimport-db:otrs6
alias: zammad-ci-otrsimport-db
- name: registry.znuny.com/docker/zammad-ci-otrsimport-app:otrs6

View File

@ -1,5 +1,5 @@
zendesk_chrome:
extends:
- .template_browser-integration_import
- .template_browser-integration_import_chrome
variables:
TEST_FILE: "test/integration/zendesk_import_browser_test.rb"