summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-10-10 18:06:00 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-10-10 18:06:00 +0000
commit7c862041c66833ebf49d9964f1797d93b1829690 (patch)
tree684a6603c6913e2c59c9bc7147d825ef35fc1b63
parentd96abbee0b394ac40eb67253214fb9c41a31bd41 (diff)
downloadgitlab-ce-7c862041c66833ebf49d9964f1797d93b1829690.tar.gz
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--.dockerignore2
-rw-r--r--.gitlab/ci/frontend.gitlab-ci.yml23
-rw-r--r--.gitlab/ci/qa.gitlab-ci.yml34
-rw-r--r--doc/development/pipelines.md13
-rw-r--r--qa/Dockerfile1
-rw-r--r--qa/qa.rb1
6 files changed, 47 insertions, 27 deletions
diff --git a/.dockerignore b/.dockerignore
index d5568619169..d20c733313d 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -6,6 +6,7 @@
# - ./config/initializers/0_inject_enterprise_edition_module.rb
# - ./ee/app/models/license.rb
# - ./lib/gitlab.rb
+# - ./lib/gitlab/utils.rb
# - ./qa/
# - ./INSTALLATION_TYPE
# - ./VERSION
@@ -49,7 +50,6 @@
/lib/flowdock/
/lib/generators/
/lib/gitaly/
-/lib/gitlab/
/lib/api/
/lib/token/
/lib/mattermost/
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml
index 16b85696727..adbfe2b4675 100644
--- a/.gitlab/ci/frontend.gitlab-ci.yml
+++ b/.gitlab/ci/frontend.gitlab-ci.yml
@@ -188,29 +188,6 @@ jest-foss:
cache:
policy: pull
-.qa-job-base:
- extends:
- - .default-tags
- - .default-retry
- - .default-cache
- - .default-only
- - .only-code-qa-changes
- dependencies: []
- stage: test
- before_script:
- - cd qa/
- - bundle install
-
-qa:internal:
- extends: .qa-job-base
- script:
- - bundle exec rspec
-
-qa:selectors:
- extends: .qa-job-base
- script:
- - bundle exec bin/qa Test::Sanity::Selectors
-
.qa-frontend-node:
extends:
- .default-tags
diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml
index b2205a6a9f1..cf5dc625a86 100644
--- a/.gitlab/ci/qa.gitlab-ci.yml
+++ b/.gitlab/ci/qa.gitlab-ci.yml
@@ -1,3 +1,37 @@
+.qa-job-base:
+ extends:
+ - .default-tags
+ - .default-retry
+ - .default-only
+ - .only-code-qa-changes
+ stage: test
+ dependencies: []
+ # It's currently impossible to specify `needs: []` so we depend on `build-qa-image` which also has `.only-code-qa-changes`
+ needs: ["build-qa-image"]
+ cache:
+ key: "qa-framework-jobs:v1"
+ paths:
+ - vendor/ruby
+ before_script:
+ - cd qa/
+ - bundle install --clean --jobs=$(nproc) --path=vendor --retry=3 --quiet
+ - bundle check
+
+qa:internal:
+ extends: .qa-job-base
+ script:
+ - bundle exec rspec
+
+qa:selectors:
+ extends: .qa-job-base
+ script:
+ - bundle exec bin/qa Test::Sanity::Selectors
+
+qa:selectors-foss:
+ extends:
+ - qa:selectors
+ - .only-ee-as-if-foss
+
.package-and-qa-base:
extends: .default-only
image: ruby:2.6-alpine
diff --git a/doc/development/pipelines.md b/doc/development/pipelines.md
index 9d065406c90..5ec68ef3251 100644
--- a/doc/development/pipelines.md
+++ b/doc/development/pipelines.md
@@ -62,7 +62,6 @@ each pipeline includes the following [variables](../ci/variables/README.md):
- `GIT_SUBMODULE_STRATEGY: "none"`
- `GET_SOURCES_ATTEMPTS: "3"`
- `KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/rspec_report-master.json`
-- `EE_KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/${CI_PROJECT_NAME}/rspec_report-master-ee.json`
- `FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json`
- `BUILD_ASSETS_IMAGE: "false"`
- `ES_JAVA_OPTS: "-Xms256m -Xmx256m"`
@@ -93,9 +92,17 @@ These common definitions are:
for `master` and auto-deploy branches.
- `.only-review-schedules`: Same as `.only-review` but also restrict a job to
only run for [schedules](../user/project/pipelines/schedules.md).
-- `.use-pg`: Allows a job to use the `postgres:9.6.14` and `redis:alpine` services.
-- `.use-pg-10`: Allows a job to use the `postgres:10.9` and `redis:alpine` services.
+- `.only-canonical-schedules`: Only creates a job for scheduled pipelines in
+ the `gitlab-org/gitlab` and `gitlab-org/gitlab-foss` projects
+- `.use-pg9`: Allows a job to use the `postgres:9.6` and `redis:alpine` services.
+- `.use-pg10`: Allows a job to use the `postgres:10.9` and `redis:alpine` services.
+- `.use-pg9-ee`: Same as `.use-pg9` but also use the
+ `docker.elastic.co/elasticsearch/elasticsearch:5.6.12` services.
+- `.use-pg10-ee`: Same as `.use-pg10` but also use the
+ `docker.elastic.co/elasticsearch/elasticsearch:5.6.12` services.
- `.only-ee`: Only creates a job for the `gitlab` project.
+- `.only-ee-as-if-foss`: Same as `.only-ee` but simulate the FOSS project by
+ setting the `IS_GITLAB_EE='0'` environment variable.
## Changes detection
diff --git a/qa/Dockerfile b/qa/Dockerfile
index e695ab82969..4845938b57e 100644
--- a/qa/Dockerfile
+++ b/qa/Dockerfile
@@ -54,6 +54,7 @@ COPY ./config/initializers/0_inject_enterprise_edition_module.rb /home/gitlab/co
# The [b] part makes ./ee/app/models/license.r[b] a pattern that is allowed to return no files (which is the case in FOSS)
COPY VERSION ./ee/app/models/license.r[b] /home/gitlab/ee/app/models/
COPY ./lib/gitlab.rb /home/gitlab/lib/
+COPY ./lib/gitlab/utils.rb /home/gitlab/lib/gitlab/
COPY ./INSTALLATION_TYPE ./VERSION /home/gitlab/
RUN cd /home/gitlab/qa/ && bundle install --jobs=$(nproc) --retry=3 --quiet
COPY ./qa /home/gitlab/qa
diff --git a/qa/qa.rb b/qa/qa.rb
index 44a46e2ea38..a0aadbed87b 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -5,6 +5,7 @@ $: << File.expand_path(File.dirname(__FILE__))
Encoding.default_external = 'UTF-8'
require_relative '../lib/gitlab'
+require_relative '../lib/gitlab/utils'
require_relative '../config/initializers/0_inject_enterprise_edition_module'
module QA