default: image: registry.znuny.com/docker/zammad-ci:test-ruby-3.7 include: - local: '/.gitlab/ci/base.yml' - local: '/.gitlab/ci/pre.yml' - local: '/.gitlab/ci/integration.yml' - local: '/.gitlab/ci/rspec.yml' - local: '/.gitlab/ci/unit.yml' - local: '/.gitlab/ci/browser-core.yml' - local: '/.gitlab/ci/browser-integration.yml' # Stages stages: - pre - test - browser-core - browser-integration # Global variables added to the ENV of each job variables: # for faster translation loading 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" MAIL_ADDRESS: "zammad@mail.test.dc.zammad.com" MAIL_PASS: "zammad" # docker-imap-devel variables required for integration tests MAIL_SERVER: "mail" MAIL_SERVER_ACCOUNT: "zammad@mail.test.dc.zammad.com:zammad" MAIL_SERVER_EMAIL: "zammad@mail.test.dc.zammad.com" KEEP_ON_MAIL_SERVER: "mail" KEEP_ON_MAIL_SERVER_ACCOUNT: "zammad@mail.test.dc.zammad.com:zammad" # Cache gems in between jobs and pipelines # ATTENTION: We use a combination of the Ruby major and minor version number # as a key for the cache to avoid cache growth and incompatibilities between # the gems. Search hook: 2.7.3 (change it when updating the Ruby version too) cache: key: "centos7ruby273" paths: - vendor/ruby # ATTENTION: This should be a dedicated cache only used in the job "TODO". # ATTENTION: Remember to update the global CI ENV setting with the latest # version of the ENV from an artifact of the "TODO" job to use a valid key. # A dedicated cache should be used because the ENVs are not bound to the Ruby version and OS. # Unfortunately GitLab is not yet capable of having multiple cache-s per job # See: https://gitlab.com/gitlab-org/gitlab/-/issues/32814 - fresh.env # Initialize application env before_script: - source /etc/profile.d/rvm.sh - FRESHENVFILE=fresh.env && test -f $FRESHENVFILE && source $FRESHENVFILE - bundle install -j $(nproc) --path vendor - bundle exec ruby script/build/database_config.rb