.qa-job-base: image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/debian-bullseye-ruby-${RUBY_VERSION}:bundler-2.3-chrome-${CHROME_VERSION}-docker-${DOCKER_VERSION} extends: - .default-retry - .qa-cache stage: test needs: [] variables: USE_BUNDLE_INSTALL: "false" SETUP_DB: "false" before_script: - !reference [.default-before_script, before_script] - cd qa && bundle install qa:internal: extends: - .qa-job-base - .qa:rules:internal script: - bundle exec rspec -O .rspec_internal qa:internal-as-if-foss: extends: - qa:internal - .qa:rules:internal-as-if-foss - .as-if-foss qa:selectors: extends: - .qa-job-base - .qa:rules:ee-and-foss script: - bundle exec bin/qa Test::Sanity::Selectors qa:master-auto-quarantine-dequarantine: extends: - .qa-job-base rules: - if: '$QA_TRIGGER_AUTO_QUARANTINE =~ /true|yes|1/i' script: - bundle exec confiner -r .confiner/master.yml allow_failure: true qa:nightly-auto-quarantine-dequarantine: extends: - .qa-job-base rules: - if: '$QA_TRIGGER_AUTO_QUARANTINE =~ /true|yes|1/i' script: - bundle exec confiner -r .confiner/nightly.yml allow_failure: true qa:selectors-as-if-foss: extends: - qa:selectors - .qa:rules:as-if-foss - .as-if-foss qa:update-qa-cache: extends: - .qa-job-base - .qa-cache-push - .shared:rules:update-cache stage: prepare script: - echo "Cache has been updated and ready to be uploaded." e2e:package-and-test: extends: - .production # this makes sure GITLAB_ALLOW_SEPARATE_CI_DATABASE is passed to the child pipeline - .qa:rules:package-and-test stage: qa needs: - build-assets-image - build-qa-image - e2e-test-pipeline-generate variables: # This is needed by `trigger-omnibus-env` (`.gitlab/ci/package-and-test/main.gitlab-ci.yml`). PARENT_PIPELINE_ID: $CI_PIPELINE_ID SKIP_MESSAGE: Skipping package-and-test due to mr containing only quarantine changes! RELEASE: "${REGISTRY_HOST}/${REGISTRY_GROUP}/build/omnibus-gitlab-mirror/gitlab-ee:${CI_COMMIT_SHA}" GITLAB_QA_IMAGE: "${CI_REGISTRY_IMAGE}/gitlab-ee-qa:${CI_COMMIT_SHA}" RUN_WITH_BUNDLE: "true" # instructs pipeline to install and run gitlab-qa gem via bundler QA_PATH: qa # sets the optional path for bundler to run from inherit: variables: - CHROME_VERSION - RUBY_VERSION - DOCKER_VERSION - REGISTRY_GROUP - REGISTRY_HOST trigger: strategy: depend forward: yaml_variables: true pipeline_variables: true include: - artifact: package-and-test-pipeline.yml job: e2e-test-pipeline-generate e2e:test-on-gdk: extends: - .qa:rules:e2e:test-on-gdk stage: qa needs: # In scheduled master pipelines we wait for the image to be built. # In MRs we assume the last scheduled master pipeline built the image already. - job: build-qa-on-gdk-master-image optional: true allow_failure: true trigger: strategy: depend forward: yaml_variables: true pipeline_variables: true include: .gitlab/ci/test-on-gdk/main.gitlab-ci.yml