gitlab-org--gitlab-foss/.gitlab/ci/qa.gitlab-ci.yml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

114 lines
2.5 KiB
YAML
Raw Normal View History

.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"
QA_EXPORT_TEST_METRICS: "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."
populate-e2e-test-vars:
extends:
- .qa-job-base
- .qa:rules:determine-qa-tests
stage: prepare
variables:
ENV_FILE: $CI_PROJECT_DIR/qa_tests_vars.env
COLORIZED_LOGS: "true"
script:
- bundle exec rake "ci:detect_changes[$ENV_FILE]"
artifacts:
expire_in: 1 day
reports:
dotenv: $ENV_FILE
e2e-test-pipeline-generate:
extends:
- .qa:rules:determine-qa-tests
stage: prepare
when: on_success
needs:
- populate-e2e-test-vars
variables:
PIPELINE_YML: package-and-test.yml
script:
- scripts/generate-e2e-pipeline $PIPELINE_YML
artifacts:
expire_in: 1 day
paths:
- $PIPELINE_YML
e2e:package-and-test:
extends:
- .qa:rules:package-and-qa
stage: qa
when: on_success
needs:
- build-assets-image
- build-qa-image
- e2e-test-pipeline-generate
trigger:
strategy: depend
include:
- artifact: package-and-test.yml
job: e2e-test-pipeline-generate