-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path.gitlab-ci.yml
67 lines (61 loc) · 1.12 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
include:
- local: /.gitlab/security-ci.yml
- local: /.gitlab/secret-ci.yml
- local: /.gitlab/linter-ci.yml
- local: /.gitlab/type-checker-ci.yml
- local: /.gitlab/unit-tests-ci.yml
- local: /.gitlab/tag-ci.yml
- local: /.gitlab/publish-ci.yml
stages:
- test
- release
- publish
security:
extends: .security
secret:
extends: .secret
.python_versions: &python_versions
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'
# https://docs.gitlab.com/ci/yaml/#parallelmatrix
linter:
extends: .linter
image:
name: python:$PY_VERSION
parallel:
matrix:
- PY_VERSION: *python_versions
type_checker:
extends: .type_checker
image:
name: python:$PY_VERSION
parallel:
matrix:
- PY_VERSION: *python_versions
unit_tests:
extends: .unit_tests
image:
name: python:$PY_VERSION
parallel:
matrix:
- PY_VERSION: *python_versions
.tag_base:
extends: .tag
needs:
- security
- secret
- linter
- type_checker
- unit_tests
tag:major:
extends: .tag_base
tag:minor:
extends: .tag_base
tag:patch:
extends: .tag_base
publish:
extends: .publish