summaryrefslogtreecommitdiff
path: root/.gitlab/ci/global.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab/ci/global.gitlab-ci.yml')
-rw-r--r--.gitlab/ci/global.gitlab-ci.yml62
1 files changed, 62 insertions, 0 deletions
diff --git a/.gitlab/ci/global.gitlab-ci.yml b/.gitlab/ci/global.gitlab-ci.yml
new file mode 100644
index 00000000000..c48672183b9
--- /dev/null
+++ b/.gitlab/ci/global.gitlab-ci.yml
@@ -0,0 +1,62 @@
+.dedicated-runner:
+ retry:
+ max: 1 # This is confusing but this means "2 runs at max".
+ when:
+ - unknown_failure
+ - api_failure
+ - runner_system_failure
+ tags:
+ - gitlab-org
+
+.default-cache: &default-cache
+ key: "debian-stretch-ruby-2.5.3-node-10.x"
+ paths:
+ - vendor/ruby
+ - .yarn-cache/
+ - vendor/gitaly-ruby
+
+.dedicated-runner-default-cache:
+ extends: .dedicated-runner
+ cache:
+ <<: *default-cache
+
+# Jobs that only need to pull cache
+.dedicated-pull-cache-job:
+ extends: .dedicated-runner
+ cache:
+ <<: *default-cache
+ policy: pull
+ stage: test
+
+.dedicated-no-docs-pull-cache-job:
+ extends: .dedicated-pull-cache-job
+ except:
+ - /(^docs[\/-].*|.*-docs$)/
+
+.dedicated-no-docs-and-no-qa-pull-cache-job:
+ extends: .dedicated-pull-cache-job
+ except:
+ - /(^docs[\/-].*|.*-docs$)/
+ - /(^qa[\/-].*|.*-qa$)/
+
+# Jobs that do not need a DB
+.dedicated-no-docs-no-db-pull-cache-job:
+ extends: .dedicated-no-docs-pull-cache-job
+ variables:
+ SETUP_DB: "false"
+
+.single-script-job-dedicated-runner:
+ extends: .dedicated-runner
+ image: ruby:2.5-alpine
+ stage: test
+ cache: {}
+ dependencies: []
+ variables:
+ GIT_STRATEGY: none
+ before_script:
+ # We don't clone the repo by using GIT_STRATEGY: none and only download the
+ # single script we need here so it's much faster than cloning.
+ - export SCRIPT_NAME="${SCRIPT_NAME:-$CI_JOB_NAME}"
+ - apk add --update openssl
+ - wget $CI_PROJECT_URL/raw/$CI_COMMIT_SHA/scripts/$SCRIPT_NAME
+ - chmod 755 $(basename $SCRIPT_NAME)