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" Z_LOCALES: "en-us:de-de"
# Browser tests and variables # Browser tests and variables
RAILS_SERVE_STATIC_FILES: "true" RAILS_SERVE_STATIC_FILES: "true"
REMOTE_URL: "http://selenium:24444/wd/hub"
TZ: "Europe/London" 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 # docker-imap-devel variables required for browser tests
MAILNAME: "mail.test.dc.zammad.com" MAILNAME: "mail.test.dc.zammad.com"
MAILBOX_INIT: "zammad@mail.test.dc.zammad.com:zammad" MAILBOX_INIT: "zammad@mail.test.dc.zammad.com:zammad"

View File

@ -13,6 +13,22 @@
ES_INDEX_RAND: "true" ES_INDEX_RAND: "true"
ES_URL: "http://elasticsearch:9200" 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: &variables_app_restart_cmd
variables: variables:
APP_RESTART_CMD: "bundle exec rake environment zammad:ci:app:restart" APP_RESTART_CMD: "bundle exec rake environment zammad:ci:app:restart"
@ -56,9 +72,13 @@
name: registry.znuny.com/docker/zammad-elasticsearch:$ELASTICSEARCH_TAG name: registry.znuny.com/docker/zammad-elasticsearch:$ELASTICSEARCH_TAG
alias: elasticsearch alias: elasticsearch
.docker_selenium: &docker_selenium .docker_selenium_chrome: &docker_selenium_chrome
name: registry.znuny.com/docker/zammad-selenium:stable name: registry.znuny.com/docker/zammad-selenium-chrome:stable
alias: selenium 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 .docker_imap: &docker_imap
name: registry.znuny.com/docker/zammad-imap:stable name: registry.znuny.com/docker/zammad-imap:stable
@ -115,10 +135,19 @@
- <<: *docker_redis - <<: *docker_redis
- <<: *docker_memcached - <<: *docker_memcached
.services_postgresql_selenium: &services_postgresql_selenium .services_postgresql_selenium_chrome: &services_postgresql_selenium_chrome
extends:
- .variables_selenium_chrome
services: services:
- <<: *docker_postgresql - <<: *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_mysql_postgresql_imap: &services_mysql_postgresql_imap
services: services:
@ -134,17 +163,33 @@
- <<: *docker_postgresql - <<: *docker_postgresql
- <<: *docker_elasticsearch - <<: *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: variables:
ELASTICSEARCH_TAG: 'stable' ELASTICSEARCH_TAG: 'stable'
services: services:
- <<: *docker_mysql - <<: *docker_mysql
- <<: *docker_postgresql - <<: *docker_postgresql
- <<: *docker_elasticsearch - <<: *docker_elasticsearch
- <<: *docker_selenium - <<: *docker_selenium_chrome
- <<: *docker_imap - <<: *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: variables:
ELASTICSEARCH_TAG: 'stable' ELASTICSEARCH_TAG: 'stable'
REDIS_URL: "redis://redis:6379" REDIS_URL: "redis://redis:6379"
@ -153,11 +198,28 @@
- <<: *docker_mysql - <<: *docker_mysql
- <<: *docker_postgresql - <<: *docker_postgresql
- <<: *docker_elasticsearch - <<: *docker_elasticsearch
- <<: *docker_selenium - <<: *docker_selenium_chrome
- <<: *docker_imap - <<: *docker_imap
- <<: *docker_redis - <<: *docker_redis
- <<: *docker_memcached - <<: *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_integration_manual_start: &rules_integration_manual_start
rules: rules:
- if: $CI_MERGE_REQUEST_ID - if: $CI_MERGE_REQUEST_ID

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,21 +15,30 @@ include:
- .env_base - .env_base
- .variables_app_restart_cmd - .variables_app_restart_cmd
- .variables_es - .variables_es
- .services_mysql_postgresql_elasticsearch_selenium_imap_redis_memcached
variables: variables:
RAILS_ENV: "test" RAILS_ENV: "test"
script: script:
- bundle exec rake zammad:ci:test:prepare - bundle exec rake zammad:ci:test:prepare
- bundle exec rspec --fail-fast --pattern "spec/system/**/*_spec.rb" -t integration - 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 stage: browser-integration
dependencies: dependencies:
- browser:build - browser:build
extends: extends:
- .env_base - .env_base
- .variables_app_restart_cmd - .variables_app_restart_cmd
- .services_postgresql_selenium - .services_postgresql_selenium_chrome
variables: variables:
RAILS_ENV: "production" RAILS_ENV: "production"
AUTO_WIZARD_FILE: "contrib/auto_wizard_test.json" AUTO_WIZARD_FILE: "contrib/auto_wizard_test.json"
@ -39,16 +48,15 @@ include:
- bundle exec rake zammad:ci:test:start - bundle exec rake zammad:ci:test:start
- bundle exec rails test $TEST_FILE - 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 stage: browser-integration
dependencies: dependencies:
- browser:build - browser:build
extends: extends:
- .env_base - .env_base
- .services_postgresql_selenium - .services_postgresql_selenium_chrome
variables: variables:
RAILS_ENV: "production" RAILS_ENV: "production"
BROWSER: "chrome"
RAILS_SERVE_STATIC_FILES: "true" RAILS_SERVE_STATIC_FILES: "true"
script: script:
- RAILS_ENV=test bundle exec rake db:create - RAILS_ENV=test bundle exec rake db:create

View File

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

View File

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

View File

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

View File

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

View File

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