de99b7ba90
We repeat the same code in many places. With the support of multiple extends, we can clean up several jobs.
78 lines
1.7 KiB
YAML
78 lines
1.7 KiB
YAML
.dedicated-runner:
|
|
retry:
|
|
max: 2 # This is confusing but this means "3 runs at max".
|
|
when:
|
|
- unknown_failure
|
|
- api_failure
|
|
- runner_system_failure
|
|
tags:
|
|
- gitlab-org
|
|
|
|
.default-cache: &default-cache
|
|
key: "debian-stretch-ruby-2.6.3-node-12.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
|
|
|
|
.no-docs:
|
|
except:
|
|
refs:
|
|
- /(^docs[\/-].*|.*-docs$)/
|
|
|
|
.no-docs-and-no-qa:
|
|
except:
|
|
refs:
|
|
- /(^docs[\/-].*|.*-docs$)/
|
|
- /(^qa[\/-].*|.*-qa$)/
|
|
|
|
.dedicated-no-docs-pull-cache-job:
|
|
extends:
|
|
- .dedicated-pull-cache-job
|
|
- .no-docs
|
|
|
|
.dedicated-no-docs-and-no-qa-pull-cache-job:
|
|
extends:
|
|
- .dedicated-pull-cache-job
|
|
- .no-docs-and-no-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"
|
|
|
|
# Jobs that need a dedicated runner, with no cache
|
|
.dedicated-no-docs:
|
|
extends:
|
|
- .dedicated-runner
|
|
- .no-docs
|
|
|
|
.single-script-job-dedicated-runner:
|
|
extends: .dedicated-runner
|
|
image: ruby:2.6-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)
|