.template_browser-core: stage: browser extends: - .job_rules_default - .tags_docker_low_concurrency variables: RAILS_ENV: "production" script: - | script/build/test_slice_tests.sh $TEST_SLICE # Tests in the first slice do not expect for the auto wizard to be run. if [ $TEST_SLICE = 1 ] then echo -e "\\e[0Ksection_start:`date +%s`:zammad_ci_test_start[collapsed=true]\\r\\e[0Kbundle exec rake zammad:ci:test:start" bundle exec rake zammad:ci:test:start[with_elasticsearch] echo -e "\\e[0Ksection_end:`date +%s`:zammad_ci_test_start\\r\\e[0K" else echo -e "\\e[0Ksection_start:`date +%s`:zammad_ci_test_prepare[collapsed=true]\\r\\e[0Kbundle exec rake zammad:ci:test:prepare zammad:setup:auto_wizard zammad:ci:app:start" # Deconstruct zammad:ci:test:start command, so it starts the server only after the auto wizard has run. # This prevents instability due to `ZAMMAD_SETTING_TTL` not kicking in. bundle exec rake zammad:ci:test:prepare[with_elasticsearch] zammad:setup:auto_wizard[contrib/auto_wizard_browser_test.json] zammad:ci:app:start echo -e "\\e[0Ksection_end:`date +%s`:zammad_ci_test_prepare\\r\\e[0K" fi bundle exec rails test --fail-fast test/browser .template_browser-core_chrome: extends: - .template_browser-core - .variables_selenium_chrome services: - !reference [.services, postgresql] - !reference [.services, elasticsearch] - !reference [.services, selenium-chrome] - !reference [.services, imap] - !reference [.services, redis] - !reference [.services, memcached] .template_browser-core_firefox: extends: - .template_browser-core - .variables_selenium_firefox services: - !reference [.services, postgresql] - !reference [.services, elasticsearch] - !reference [.services, selenium-firefox] - !reference [.services, imap] - !reference [.services, redis] - !reference [.services, memcached] .template_browser-core_capybara: stage: browser extends: - .job_rules_default - .tags_docker_low_concurrency script: - !reference [.scripts, zammad_ci_test_prepare] - bundle exec rspec --require ./spec/rspec_extensions.rb --fail-fast -t ~integration --profile 10 spec/system .template_browser-core_capybara_chrome: extends: - .template_browser-core_capybara - .variables_selenium_chrome - .variables_proxy services: - !reference [.services, postgresql] - !reference [.services, elasticsearch] - !reference [.services, selenium-chrome] - !reference [.services, imap] - !reference [.services, redis] - !reference [.services, memcached] - !reference [.services, proxy] .template_browser-core_capybara_firefox: extends: - .template_browser-core_capybara - .variables_selenium_firefox - .variables_proxy services: - !reference [.services, postgresql] - !reference [.services, elasticsearch] - !reference [.services, selenium-firefox] - !reference [.services, imap] - !reference [.services, redis] - !reference [.services, memcached] - !reference [.services, proxy]