Skip to content

Commit f5d2d7e

Browse files
authored
Merge pull request #139 from saltstack-formulas/renovate/https-github.com-dafyddj-copier-ssf-ci-1.x
chore(deps): update dependency https://github.com/dafyddj/copier-ssf-ci to v1.6.3
2 parents 7d2d5c6 + daa4331 commit f5d2d7e

File tree

3 files changed

+171
-139
lines changed

3 files changed

+171
-139
lines changed

.copier-answers.ssf-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2-
_commit: v1.5.0
2+
_commit: v1.6.3
33
_src_path: https://github.com/dafyddj/copier-ssf-ci
44
failure_permitted_pattern: "(?x)(\n -master$|\n ^fedora-41-|\n ^amazonlinux-2-\n\
55
)"

.gitlab-ci.yml

Lines changed: 87 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
only_branch_master_parent_repo: &only_branch_master_parent_repo
1010
- 'master@saltstack-formulas/postfix-formula'
1111
# `stage`
12+
stage_cache: &stage_cache 'cache'
1213
stage_lint: &stage_lint 'lint'
1314
stage_release: &stage_release 'release'
1415
stage_test: &stage_test 'test'
@@ -26,31 +27,64 @@
2627
# yamllint enable rule:line-length
2728
# `variables`
2829
# https://forum.gitlab.com/t/gitlab-com-ci-caching-rubygems/5627/3
29-
# https://bundler.io/v1.16/bundle_config.html
30+
# https://bundler.io/v2.3/man/bundle-config.1.html
3031
variables_bundler: &variables_bundler
31-
BUNDLE_CACHE_PATH: '${CI_PROJECT_DIR}/.cache/bundler'
32-
BUNDLE_WITHOUT: 'production'
33-
# `cache`
32+
BUNDLE_PATH: '${CI_PROJECT_DIR}/.cache/bundler'
33+
BUNDLE_DEPLOYMENT: 'true'
34+
bundle_install: &bundle_install
35+
- 'bundle version'
36+
- 'bundle config list'
37+
# `--no-cache` means don't bother caching the downloaded .gem files
38+
- 'time bundle install --no-cache'
3439
cache_bundler: &cache_bundler
35-
key: '${CI_JOB_STAGE}'
40+
key:
41+
files:
42+
- 'Gemfile.lock'
43+
prefix: 'bundler'
3644
paths:
37-
- '${BUNDLE_CACHE_PATH}'
45+
- '${BUNDLE_PATH}'
46+
# https://pre-commit.com/#gitlab-ci-example
47+
variables_pre-commit: &variables_pre-commit
48+
PRE_COMMIT_HOME: '${CI_PROJECT_DIR}/.cache/pre-commit'
49+
cache_pre-commit: &cache_pre-commit
50+
key:
51+
files:
52+
- '.pre-commit-config.yaml'
53+
prefix: 'pre-commit'
54+
paths:
55+
- '${PRE_COMMIT_HOME}'
3856

3957
###############################################################################
4058
# Define stages and global variables
4159
###############################################################################
4260
stages:
61+
- *stage_cache
4362
- *stage_lint
4463
- *stage_test
4564
- *stage_release
4665
variables:
4766
DOCKER_DRIVER: 'overlay2'
4867

68+
69+
###############################################################################
70+
# `cache` stage: build up the bundler cache required before the `test` stage
71+
###############################################################################
72+
build-cache:
73+
stage: *stage_cache
74+
image: *image_dindruby
75+
variables: *variables_bundler
76+
cache: *cache_bundler
77+
script: *bundle_install
78+
4979
###############################################################################
5080
# `lint` stage: `commitlint`, `pre-commit` & `rubocop` (latest, failure allowed)
5181
###############################################################################
52-
commitlint:
82+
.lint_job:
5383
stage: *stage_lint
84+
needs: []
85+
86+
commitlint:
87+
extends: '.lint_job'
5488
image: *image_commitlint
5589
script:
5690
# Add `upstream` remote to get access to `upstream/master`
@@ -75,15 +109,11 @@ commitlint:
75109
--verbose'
76110

77111
pre-commit:
78-
stage: *stage_lint
112+
extends: '.lint_job'
79113
image: *image_precommit
80114
# https://pre-commit.com/#gitlab-ci-example
81-
variables:
82-
PRE_COMMIT_HOME: '${CI_PROJECT_DIR}/.cache/pre-commit'
83-
cache:
84-
key: '${CI_JOB_NAME}'
85-
paths:
86-
- '${PRE_COMMIT_HOME}'
115+
variables: *variables_pre-commit
116+
cache: *cache_pre-commit
87117
script:
88118
- 'pre-commit run --all-files --color always --verbose'
89119
- 'pre-commit run --color always --hook-stage manual commitlint-ci'
@@ -95,8 +125,8 @@ pre-commit:
95125
# - Furthermore, this job uses all of the latest `rubocop` features & cops,
96126
# which will help when upgrading the `rubocop` linter used in `pre-commit`
97127
rubocop:
128+
extends: '.lint_job'
98129
allow_failure: true
99-
stage: *stage_lint
100130
image: *image_rubocop
101131
script:
102132
- 'rubocop -d -P -S --enable-pending-cops'
@@ -109,12 +139,10 @@ rubocop:
109139
image: *image_dindruby
110140
services: *services_docker_dind
111141
variables: *variables_bundler
112-
cache: *cache_bundler
113-
before_script:
114-
# TODO: This should work from the env vars above automatically
115-
- 'bundle config set path "${BUNDLE_CACHE_PATH}"'
116-
- 'bundle config set without "${BUNDLE_WITHOUT}"'
117-
- 'bundle install'
142+
cache:
143+
<<: *cache_bundler
144+
policy: 'pull'
145+
before_script: *bundle_install
118146
script:
119147
# Alternative value to consider: `${CI_JOB_NAME}`
120148
- 'bin/kitchen verify "${DOCKER_ENV_CI_JOB_NAME}"'
@@ -160,44 +188,44 @@ rockylinux-8-master: {extends: '.test_instance_failure_permitted'}
160188
ubuntu-2404-master: {extends: '.test_instance_failure_permitted'}
161189
ubuntu-2204-master: {extends: '.test_instance_failure_permitted'}
162190
ubuntu-2004-master: {extends: '.test_instance_failure_permitted'}
163-
almalinux-9-3007-2: {extends: '.test_instance'}
164-
almalinux-8-3007-2: {extends: '.test_instance'}
165-
amazonlinux-2023-3007-2: {extends: '.test_instance'}
166-
amazonlinux-2-3007-2: {extends: '.test_instance_failure_permitted'}
167-
centos-stream9-3007-2: {extends: '.test_instance'}
168-
debian-12-3007-2: {extends: '.test_instance'}
169-
debian-11-3007-2: {extends: '.test_instance'}
170-
fedora-41-3007-2: {extends: '.test_instance_failure_permitted'}
171-
fedora-40-3007-2: {extends: '.test_instance'}
172-
opensuse-leap-156-3007-2: {extends: '.test_instance'}
173-
opensuse-leap-155-3007-2: {extends: '.test_instance'}
174-
opensuse-tmbl-latest-3007-2: {extends: '.test_instance'}
175-
oraclelinux-9-3007-2: {extends: '.test_instance'}
176-
oraclelinux-8-3007-2: {extends: '.test_instance'}
177-
rockylinux-9-3007-2: {extends: '.test_instance'}
178-
rockylinux-8-3007-2: {extends: '.test_instance'}
179-
ubuntu-2404-3007-2: {extends: '.test_instance'}
180-
ubuntu-2204-3007-2: {extends: '.test_instance'}
181-
ubuntu-2004-3007-2: {extends: '.test_instance'}
182-
almalinux-9-3006-10: {extends: '.test_instance'}
183-
almalinux-8-3006-10: {extends: '.test_instance'}
184-
amazonlinux-2023-3006-10: {extends: '.test_instance'}
185-
amazonlinux-2-3006-10: {extends: '.test_instance_failure_permitted'}
186-
centos-stream9-3006-10: {extends: '.test_instance'}
187-
debian-12-3006-10: {extends: '.test_instance'}
188-
debian-11-3006-10: {extends: '.test_instance'}
189-
fedora-41-3006-10: {extends: '.test_instance_failure_permitted'}
190-
fedora-40-3006-10: {extends: '.test_instance'}
191-
opensuse-leap-156-3006-10: {extends: '.test_instance'}
192-
opensuse-leap-155-3006-10: {extends: '.test_instance'}
193-
opensuse-tmbl-latest-3006-10: {extends: '.test_instance'}
194-
oraclelinux-9-3006-10: {extends: '.test_instance'}
195-
oraclelinux-8-3006-10: {extends: '.test_instance'}
196-
rockylinux-9-3006-10: {extends: '.test_instance'}
197-
rockylinux-8-3006-10: {extends: '.test_instance'}
198-
ubuntu-2404-3006-10: {extends: '.test_instance'}
199-
ubuntu-2204-3006-10: {extends: '.test_instance'}
200-
ubuntu-2004-3006-10: {extends: '.test_instance'}
191+
almalinux-9-3007-3: {extends: '.test_instance'}
192+
almalinux-8-3007-3: {extends: '.test_instance'}
193+
amazonlinux-2023-3007-3: {extends: '.test_instance'}
194+
amazonlinux-2-3007-3: {extends: '.test_instance_failure_permitted'}
195+
centos-stream9-3007-3: {extends: '.test_instance'}
196+
debian-12-3007-3: {extends: '.test_instance'}
197+
debian-11-3007-3: {extends: '.test_instance'}
198+
fedora-41-3007-3: {extends: '.test_instance_failure_permitted'}
199+
fedora-40-3007-3: {extends: '.test_instance'}
200+
opensuse-leap-156-3007-3: {extends: '.test_instance'}
201+
opensuse-leap-155-3007-3: {extends: '.test_instance'}
202+
opensuse-tmbl-latest-3007-3: {extends: '.test_instance'}
203+
oraclelinux-9-3007-3: {extends: '.test_instance'}
204+
oraclelinux-8-3007-3: {extends: '.test_instance'}
205+
rockylinux-9-3007-3: {extends: '.test_instance'}
206+
rockylinux-8-3007-3: {extends: '.test_instance'}
207+
ubuntu-2404-3007-3: {extends: '.test_instance'}
208+
ubuntu-2204-3007-3: {extends: '.test_instance'}
209+
ubuntu-2004-3007-3: {extends: '.test_instance'}
210+
almalinux-9-3006-11: {extends: '.test_instance'}
211+
almalinux-8-3006-11: {extends: '.test_instance'}
212+
amazonlinux-2023-3006-11: {extends: '.test_instance'}
213+
amazonlinux-2-3006-11: {extends: '.test_instance_failure_permitted'}
214+
centos-stream9-3006-11: {extends: '.test_instance'}
215+
debian-12-3006-11: {extends: '.test_instance'}
216+
debian-11-3006-11: {extends: '.test_instance'}
217+
fedora-41-3006-11: {extends: '.test_instance_failure_permitted'}
218+
fedora-40-3006-11: {extends: '.test_instance'}
219+
opensuse-leap-156-3006-11: {extends: '.test_instance'}
220+
opensuse-leap-155-3006-11: {extends: '.test_instance'}
221+
opensuse-tmbl-latest-3006-11: {extends: '.test_instance'}
222+
oraclelinux-9-3006-11: {extends: '.test_instance'}
223+
oraclelinux-8-3006-11: {extends: '.test_instance'}
224+
rockylinux-9-3006-11: {extends: '.test_instance'}
225+
rockylinux-8-3006-11: {extends: '.test_instance'}
226+
ubuntu-2404-3006-11: {extends: '.test_instance'}
227+
ubuntu-2204-3006-11: {extends: '.test_instance'}
228+
ubuntu-2004-3006-11: {extends: '.test_instance'}
201229
# yamllint enable rule:line-length
202230

203231
###############################################################################

0 commit comments

Comments
 (0)