services: - docker:1.13-dind stages: - check - test - notify variables: TEST_IMAGE: registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-qa DOCKER_DRIVER: overlay DOCKER_HOST: tcp://docker:2375 QA_ARTIFACTS_DIR: $CI_PROJECT_DIR QA_CAN_TEST_GIT_PROTOCOL_V2: 'false' before_script: - bundle install - if [ -n "$TRIGGERED_USER" ] && [ -n "$TRIGGER_SOURCE" ]; then echo "Pipeline triggered by $TRIGGERED_USER at $TRIGGER_SOURCE"; fi check:rubocop: stage: check image: $TEST_IMAGE script: bundle exec rubocop except: - triggers tags: - docker check:rspec: stage: check image: $TEST_IMAGE script: bundle exec rspec except: - triggers tags: - docker .test: &test stage: test image: $TEST_IMAGE tags: - docker artifacts: when: on_failure expire_in: 30d paths: - ./gitlab-qa-run-* .ce-qa: &ce-qa only: variables: - $RELEASE == null - $RELEASE =~ /gitlab-ce/ .ee-qa: &ee-qa only: variables: - $RELEASE == null - $RELEASE =~ /gitlab-ee/ .only-qa: &only-qa except: variables: - $RELEASE .high-capacity: &high-capacity tags: - docker - 7gb - triggered-packages ce:sanity-framework: script: - ./bin/expect_exit_code_and_text "bin/qa Test::Instance::Image ${RELEASE:=CE} --tag framework" 1 "2 examples, 1 failure" <<: *test <<: *high-capacity <<: *ce-qa ee:sanity-framework: script: - ./bin/expect_exit_code_and_text "bin/qa Test::Instance::Image ${RELEASE:=EE} --tag framework" 1 "2 examples, 1 failure" <<: *test <<: *high-capacity <<: *ee-qa ce:instance: script: - bin/qa Test::Instance::Image ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:instance: script: - bin/qa Test::Instance::Image ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:relative_url: script: - bin/qa Test::Instance::RelativeUrl ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:relative_url: script: - bin/qa Test::Instance::RelativeUrl ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:image: script: - bin/qa Test::Omnibus::Image ${RELEASE:=CE} <<: *test <<: *ce-qa ee:image: script: - bin/qa Test::Omnibus::Image ${RELEASE:=EE} <<: *test <<: *ee-qa ce:update: script: - bin/qa Test::Omnibus::Update ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:update: script: - bin/qa Test::Omnibus::Update ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:upgrade: script: - bin/qa Test::Omnibus::Upgrade <<: *test <<: *high-capacity <<: *only-qa ee-previous-to-ce:update: script: - bin/qa Test::Omnibus::Update EE CE <<: *test <<: *high-capacity <<: *only-qa ce:mattermost: script: - bin/qa Test::Integration::Mattermost ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:mattermost: script: - bin/qa Test::Integration::Mattermost ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ee:geo: script: - bin/qa Test::Integration::Geo ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:ldap_no_tls: script: - bin/qa Test::Integration::LDAPNoTLS ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:ldap_no_tls: script: - bin/qa Test::Integration::LDAPNoTLS ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:ldap_tls: script: - bin/qa Test::Integration::LDAPTLS ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:ldap_tls: script: - bin/qa Test::Integration::LDAPTLS ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:instance_saml: script: - bin/qa Test::Integration::InstanceSAML ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:instance_saml: script: - bin/qa Test::Integration::InstanceSAML ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ee:group_saml: script: - bin/qa Test::Integration::GroupSAML ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:kubernetes: script: - bin/qa Test::Integration::Kubernetes ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:kubernetes: script: - bin/qa Test::Integration::Kubernetes ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa ce:object_storage: script: - bin/qa Test::Integration::ObjectStorage ${RELEASE:=CE} <<: *test <<: *high-capacity <<: *ce-qa ee:object_storage: script: - bin/qa Test::Integration::ObjectStorage ${RELEASE:=EE} <<: *test <<: *high-capacity <<: *ee-qa .notify_upstream_commit: ¬ify_upstream_commit stage: notify image: $TEST_IMAGE before_script: - gem install gitlab --no-document only: variables: - $TOP_UPSTREAM_SOURCE_PROJECT - $TOP_UPSTREAM_SOURCE_SHA notify_upstream_commit:success: <<: *notify_upstream_commit script: - bin/notify_upstream_commit success when: on_success notify_upstream_commit:failure: <<: *notify_upstream_commit script: - bin/notify_upstream_commit failure when: on_failure