@@ -48,23 +48,31 @@ include:
48
48
paths : [ logs/ ]
49
49
expire_in : 1 days
50
50
51
- .default_only_template : &default_only_def
52
- only :
53
- - main
54
- - merge_requests
55
- - schedules
56
- - webs
51
+ .default_test_rules : &default_test_rules
52
+ rules :
53
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /.*skip-ci.*/'
54
+ when : manual
55
+ allow_failure : true
56
+ - !reference [.default_rules, rules]
57
+
58
+ .default_rules : &default_rules
59
+ rules :
60
+ - if : ' $CI_COMMIT_BRANCH == "main"'
61
+ when : manual
62
+ allow_failure : true
63
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"'
64
+ when : always
57
65
58
66
.test_short_template : &test_short_def
59
67
stage : test-short
60
68
tags :
61
69
- $RUNNER_TAG
62
70
timeout : 35m
63
- << : *default_only_def
64
- except :
65
- variables :
66
- - $CI_MERGE_REQUEST_LABELS =~ /.*skip-ci.*/
67
- - $CI_MERGE_REQUEST_LABELS =~ /.*python-tests-only.*/
71
+ rules :
72
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /.*python-tests-only.*/ '
73
+ when : manual
74
+ allow_failure : true
75
+ - !reference [.default_test_rules, rules]
68
76
<< : *gather_logs_def
69
77
70
78
.test_short_skip_scheduled_template : &test_short_skip_scheduled_def
@@ -150,7 +158,7 @@ build:linux:
150
158
tags :
151
159
- $RUNNER_TAG
152
160
timeout : 10m
153
- << : *default_only_def
161
+ << : *default_rules
154
162
script :
155
163
- MODE="" make node # Build node without backends in production mode.
156
164
- MODE="debug" make node # Build node without backends in debug mode.
@@ -190,7 +198,8 @@ build:k8s:
190
198
- buildah push $FQ_AISINIT_IMAGE_NAME
191
199
rules :
192
200
- if : ' $CI_COMMIT_BRANCH == "main"'
193
- allow_failure : false
201
+ when : manual
202
+ allow_failure : true
194
203
- if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /.*skip-ci.*/'
195
204
when : never
196
205
- if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /.*etl.*/'
@@ -209,7 +218,7 @@ lint:linux:
209
218
tags :
210
219
- $RUNNER_TAG
211
220
timeout : 10m
212
- << : *default_only_def
221
+ << : *default_rules
213
222
script :
214
223
- make lint
215
224
- TAGS="oteltracing statsd ht" make lint
@@ -229,15 +238,15 @@ test:short:
229
238
230
239
test:short:python-changelog-check :
231
240
<< : *test_short_def
232
- only :
233
- refs :
234
- - merge_requests
235
- changes :
236
- - python/aistore/sdk/**/*
237
- - python/aistore/version.py
238
- except :
239
- variables :
240
- - $CI_MERGE_REQUEST_LABELS =~ /.*skip- python-changelog-check.*/
241
+ rules :
242
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /.*skip-ci.*/ '
243
+ when : never
244
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS =~ /.*skip-python-changelog-check.*/ '
245
+ when : never
246
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" '
247
+ changes :
248
+ - python/aistore/sdk/**/*
249
+ - python/aistore/version.py
241
250
script :
242
251
- git fetch origin "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
243
252
- CHANGED_FILES=$(git diff --name-only "origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"...HEAD)
@@ -247,6 +256,7 @@ test:short:python-changelog-check:
247
256
248
257
test:short:python-unit :
249
258
<< : *test_short_def
259
+ << : *default_test_rules
250
260
variables :
251
261
PIP : " uv pip"
252
262
script :
@@ -262,13 +272,11 @@ test:short:python-unit:
262
272
deactivate || true
263
273
rm -rf .venv
264
274
done
265
- except :
266
- variables :
267
- - $CI_MERGE_REQUEST_LABELS =~ /.*skip-ci.*/
268
275
269
276
# Runs cluster with 5 proxies and 5 targets (each with 6 mountpaths)
6D40
.
270
277
test:short:python-integration :
271
278
<< : *test_short_def
279
+ << : *default_test_rules
272
280
variables :
273
281
AIS_ENDPOINT : " http://localhost:8080"
274
282
BUCKET : " aws://ais-ci-python"
@@ -287,9 +295,6 @@ test:short:python-integration:
287
295
deactivate || true
288
296
rm -rf .venv
289
297
done
290
- except :
291
- variables :
292
- - $CI_MERGE_REQUEST_LABELS =~ /.*skip-ci.*/
293
298
294
299
test:long:python-extended :
295
300
<< : *test_long_def
@@ -324,10 +329,11 @@ test:short:pytorch:
324
329
- ${SCRIPTS_DIR}/clean_deploy.sh --target-cnt $NUM_TARGET --proxy-cnt $NUM_PROXY --mountpath-cnt $FS_CNT --deployment all --aws
325
330
- cd python
326
331
- make python_pytorch_tests
327
- except :
328
- variables :
329
- - $CI_MERGE_REQUEST_LABELS =~ /.*skip-ci.*/
330
- - $CI_MERGE_REQUEST_LABELS !~ /.*pytorch.*/
332
+ rules :
333
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS !~ /.*pytorch.*/'
334
+ when : manual
335
+ allow_failure : true
336
+ - !reference [.default_test_rules, rules]
331
337
332
338
test:short:python-authn :
333
339
stage : test-short
@@ -379,18 +385,19 @@ test:short:s3-compat:
379
385
# Fail on first failure
380
386
S3_COMPAT_STRICT :
381
387
value : " True"
382
-
383
388
script :
384
389
- ${SCRIPTS_DIR}/clean_deploy.sh --target-cnt $NUM_TARGET --proxy-cnt $NUM_PROXY --mountpath-cnt $FS_CNT --deployment all
385
390
- ais config cluster features S3-API-via-Root
386
391
- ais config cluster checksum.type=md5
387
392
- cd python
388
393
- make python_s3_compat_test
389
- except :
390
- variables :
391
- - $CI_MERGE_REQUEST_LABELS !~ /.*s3-compat.*/
392
- - $CI_PIPELINE_SOURCE == "schedule"
393
-
394
+ rules :
395
+ - if : ' $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS !~ /.*s3-compat.*/'
396
+ when : manual
397
+ allow_failure : true
398
+ - if : ' $CI_PIPELINE_SOURCE == "schedule"'
399
+ when : never
400
+ - !reference [.default_test_rules, rules]
394
401
395
402
test:short:authn :
396
403
<< : *test_short_optional_def
0 commit comments