pre-commit-crocodile 5.1.0__tar.gz → 6.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.cz.yaml +2 -2
  2. pre_commit_crocodile-6.1.0/.gitlab-ci.yml +600 -0
  3. pre_commit_crocodile-6.1.0/.gitmodules +4 -0
  4. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.pre-commit-config.yaml +8 -8
  5. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.pre-commit-hooks.yaml +2 -2
  6. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/CHANGELOG.md +115 -0
  7. {pre_commit_crocodile-5.1.0/pre_commit_crocodile.egg-info → pre_commit_crocodile-6.1.0}/PKG-INFO +6 -3
  8. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/README.md +4 -2
  9. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/commits/Dockerfile +5 -0
  10. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/pages/Dockerfile +4 -1
  11. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/rehost/images.txt +3 -3
  12. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/.pages.in +1 -0
  13. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/prepare.sh +8 -1
  14. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/mkdocs.yml +3 -0
  15. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0/pre_commit_crocodile.egg-info}/PKG-INFO +6 -3
  16. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/pre_commit_crocodile.egg-info/SOURCES.txt +2 -0
  17. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/pre_commit_crocodile.egg-info/entry_points.txt +1 -0
  18. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/pages.txt +1 -0
  19. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/setup.py +3 -1
  20. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/sonar-project.properties +1 -1
  21. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/assets/.cz.yaml +2 -2
  22. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/assets/.pre-commit-config.yaml +6 -6
  23. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/assets/commits.yml +18 -0
  24. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/cli/entrypoint.py +188 -62
  25. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/cli/main.py +8 -1
  26. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/commitizen.py +2 -0
  27. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/git.py +56 -2
  28. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/precommit.py +15 -5
  29. pre_commit_crocodile-6.1.0/src/hooks/check_commitizen_branch.py +81 -0
  30. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/hooks/configurations.py +7 -4
  31. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/package/bundle.py +4 -0
  32. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/system/commands.py +21 -4
  33. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/system/platform.py +4 -4
  34. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/types/strings.py +0 -9
  35. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/templates/commits.yml +18 -0
  36. pre_commit_crocodile-5.1.0/.gitlab-ci.yml +0 -1051
  37. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.coveragerc +0 -0
  38. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.gitattributes +0 -0
  39. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.gitignore +0 -0
  40. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.markdownlint.json +0 -0
  41. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.style.yapf +0 -0
  42. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.vscode/extensions.json +0 -0
  43. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/.vscode/settings.json +0 -0
  44. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/LICENSE +0 -0
  45. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/config/cliff.toml +0 -0
  46. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/build/Dockerfile +0 -0
  47. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/codestyle/Dockerfile +0 -0
  48. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/deploy/Dockerfile +0 -0
  49. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/preview/Dockerfile +0 -0
  50. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/test-coverage-linux/Dockerfile +0 -0
  51. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/test-coverage-windows/Dockerfile +0 -0
  52. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/containers/test-linux/Dockerfile +0 -0
  53. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/assets/images/favicon.png +0 -0
  54. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/assets/scripts/mkdocs-exporter.js +0 -0
  55. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/assets/stylesheets/custom.css +0 -0
  56. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/assets/stylesheets/pdf.scss +0 -0
  57. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/commitizen.md +0 -0
  58. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/commits.md +0 -0
  59. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/components.md +0 -0
  60. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/hooks.md +0 -0
  61. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/pre-commit.md +0 -0
  62. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/preview.py +0 -0
  63. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/preview.svg +0 -0
  64. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/robots.txt +0 -0
  65. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/settings.md +0 -0
  66. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/template.svg +0 -0
  67. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/templates/covers/back.html.j2 +0 -0
  68. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/docs/templates/covers/front.html.j2 +0 -0
  69. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/mypy.ini +0 -0
  70. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/pre_commit_crocodile.egg-info/dependency_links.txt +0 -0
  71. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/pre_commit_crocodile.egg-info/requires.txt +0 -0
  72. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/pre_commit_crocodile.egg-info/top_level.txt +0 -0
  73. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/build.txt +0 -0
  74. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/commits.txt +0 -0
  75. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/coverage.txt +0 -0
  76. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/deploy.txt +0 -0
  77. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/docs.txt +0 -0
  78. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/quality.txt +0 -0
  79. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/runtime.txt +0 -0
  80. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/requirements/tests.txt +0 -0
  81. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/setup.cfg +0 -0
  82. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/__init__.py +0 -0
  83. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/__main__.py +0 -0
  84. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/assets/__init__.py +0 -0
  85. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/cli/__init__.py +0 -0
  86. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/__init__.py +0 -0
  87. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/argcomplete.py +0 -0
  88. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/gcil.py +0 -0
  89. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/radiandevcore.py +0 -0
  90. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/readme.py +0 -0
  91. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/features/templates.py +0 -0
  92. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/hooks/__init__.py +0 -0
  93. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/hooks/check_yaml_ruamel_pure.py +0 -0
  94. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/hooks/prepare_commit_message.py +0 -0
  95. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/package/__init__.py +0 -0
  96. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/package/settings.py +0 -0
  97. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/package/updates.py +0 -0
  98. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/package/version.py +0 -0
  99. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/prints/__init__.py +0 -0
  100. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/prints/boxes.py +0 -0
  101. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/prints/colors.py +0 -0
  102. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/system/__init__.py +0 -0
  103. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/types/__init__.py +0 -0
  104. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/src/types/environments.py +0 -0
  105. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/tests/arguments/test.sh +0 -0
  106. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/tests/colors/test.sh +0 -0
  107. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/tests/macos/test.sh +0 -0
  108. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/tests/settings/test.sh +0 -0
  109. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/tests/versions/test.sh +0 -0
  110. {pre_commit_crocodile-5.1.0 → pre_commit_crocodile-6.1.0}/tests/windows/test.sh +0 -0
@@ -167,8 +167,8 @@ commitizen:
167
167
  (\\([^\\n\\r]+\\))\
168
168
  !?\
169
169
  :\
170
- \
171
- ([^\\n\\r]+)\
170
+ [ ]\
171
+ ([^\\n\\r ][^\\n\\r]*)\
172
172
  ((\\n\\n.*)|(\\s*))?\
173
173
  (\\n[^\\n\r]+-by:.*)*\
174
174
  $\
@@ -0,0 +1,600 @@
1
+ include:
2
+ - component: gitlab.com/RadianDevCore/tools/pre-commit-crocodile/commits@$CI_COMMIT_SHA
3
+ inputs:
4
+ stage: prepare
5
+ - project: RadianDevCore/gitlab-ci/components
6
+ file: /templates/clean.yml
7
+ ref: main
8
+ inputs:
9
+ stage: development
10
+ paths: ./build ./dist ./*.egg-info ./.eggs
11
+ - project: RadianDevCore/gitlab-ci/components
12
+ file: /templates/preview.yml
13
+ ref: main
14
+ inputs:
15
+ stage: development
16
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:preview
17
+ - project: RadianDevCore/gitlab-ci/components
18
+ file: /templates/changelog.yml
19
+ ref: main
20
+ inputs:
21
+ stage: development
22
+ - project: RadianDevCore/gitlab-ci/components
23
+ file: /templates/registry.yml
24
+ ref: main
25
+ inputs:
26
+ stage: registry
27
+ - project: RadianDevCore/gitlab-ci/components
28
+ file: /templates/python-codestyle.yml
29
+ ref: main
30
+ inputs:
31
+ stage: prepare
32
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:codestyle
33
+ paths: ./docs/*.py ./src/*.py ./src/*/*.py ./setup.py
34
+ - project: RadianDevCore/gitlab-ci/components
35
+ file: /templates/python-lint.yml
36
+ ref: main
37
+ inputs:
38
+ stage: prepare
39
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:codestyle
40
+ paths: ./docs/ ./src/ ./setup.py
41
+ - project: RadianDevCore/gitlab-ci/components
42
+ file: /templates/python-typings.yml
43
+ ref: main
44
+ inputs:
45
+ stage: prepare
46
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:codestyle
47
+ paths: ./docs/ ./src/ ./setup.py
48
+ - project: RadianDevCore/gitlab-ci/components
49
+ file: /templates/python-build.yml
50
+ ref: main
51
+ inputs:
52
+ stage: build
53
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:build
54
+ - project: RadianDevCore/gitlab-ci/components
55
+ file: /templates/python-install.yml
56
+ ref: main
57
+ inputs:
58
+ stage: build
59
+ - project: RadianDevCore/gitlab-ci/components
60
+ file: /templates/python-readme.yml
61
+ ref: main
62
+ inputs:
63
+ stage: build
64
+ - project: RadianDevCore/gitlab-ci/components
65
+ file: /templates/python-test.yml
66
+ ref: main
67
+ inputs:
68
+ stage: test
69
+ package: pre-commit-crocodile
70
+ timeout: 10m
71
+ - project: RadianDevCore/gitlab-ci/components
72
+ file: /templates/python-coverage.yml
73
+ ref: main
74
+ inputs:
75
+ stage: test
76
+ package: pre-commit-crocodile
77
+ - project: RadianDevCore/gitlab-ci/components
78
+ file: /templates/python-quality.yml
79
+ ref: main
80
+ inputs:
81
+ stage: quality
82
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:test-coverage-linux
83
+ - project: RadianDevCore/gitlab-ci/components
84
+ file: /templates/sonarcloud.yml
85
+ ref: main
86
+ inputs:
87
+ stage: quality
88
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/sonarsource/sonar-scanner-cli:latest
89
+ - project: RadianDevCore/gitlab-ci/components
90
+ file: /templates/python-deploy.yml
91
+ ref: main
92
+ inputs:
93
+ stage: deploy
94
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:deploy
95
+ - project: RadianDevCore/gitlab-ci/components
96
+ file: /templates/pages.yml
97
+ ref: main
98
+ inputs:
99
+ stage: deploy
100
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:pages
101
+ pdf: pre-commit-crocodile
102
+ watch: ./.cz.yaml ./config/* ./docs/.* ./docs/* ./mkdocs.yml ./README.md
103
+
104
+ stages:
105
+ - development
106
+ - registry
107
+ - prepare
108
+ - build
109
+ - test
110
+ - quality
111
+ - deploy
112
+
113
+ variables:
114
+ CI_LOCAL_REAL_PATHS: 'true'
115
+ CI_LOCAL_SOCKETS: 'true'
116
+ EXECUTOR_HOST: preview
117
+ EXECUTOR_TOOL: pre-commit-crocodile
118
+ REGISTRY_HOST: registry.gitlab.com
119
+ REGISTRY_NAMESPACE: radiandevcore/tools
120
+ REGISTRY_PROJECT: pre-commit-crocodile
121
+
122
+ .local:
123
+ include:
124
+ 'RadianDevCore/gitlab-ci/components': '.gitlab-ci.d'
125
+ no_regex: true
126
+ version: 12.0
127
+ volumes:
128
+ - ${HOME}/.docker/config.json:/root/.docker/config.json:ro
129
+
130
+ preview:
131
+ variables:
132
+ EDITOR: nano
133
+ PIPX_BIN_DIR: /usr/local/bin
134
+ before_script:
135
+ # Inherit before_script
136
+ - !reference ['.test:template', before_script]
137
+ # Bind project sources
138
+ - project="${PWD}"
139
+ - remote=$(git config --get remote.origin.url | sed 's#git@gitlab.com:#https://gitlab.com/#g')
140
+ # Prepare package revision
141
+ - export DEBUG_REVISION_SHA=$(git rev-parse --short origin/develop)
142
+ # Create temporary sources
143
+ - |
144
+ sources=$(mktemp -d)
145
+ mkdir -p "${sources}/"
146
+ cd "${sources}/"
147
+ # Configure Git settings
148
+ - git config --global user.email 'firstname.lastname@example.com'
149
+ - git config --global user.name 'Firstname LASTNAME'
150
+ - git config --global color.ui 'always'
151
+ - git config --global core.pager 'cat'
152
+ # Prepare temporary commits
153
+ - |
154
+ git init
155
+ git remote add origin "${remote}"
156
+ git fetch origin main
157
+ - |
158
+ echo '# Project' >./README.md
159
+ git add -v ./README.md
160
+ git commit -m 'docs(readme): initial commit' -s
161
+ - |
162
+ echo '' >>./README.md
163
+ echo 'Description of the project' >>./README.md
164
+ git add -v ./README.md
165
+ git commit -m 'docs(readme): add project description' -s
166
+ - |
167
+ mkdir -p ./docs/
168
+ echo '# Tutorial' >./docs/tutorial.md
169
+ git add -v ./docs/
170
+ git commit -m 'docs(tutorial): initial tutorial commit' -s
171
+ - |
172
+ mkdir -p ./src/cli/
173
+ echo '# Sources' >./src/cli/entrypoint.py
174
+ echo '# Sources' >./src/cli/main.py
175
+ git add -v ./src/cli/
176
+ git commit -m 'feat(cli): initial CLI commit' -s
177
+ - |
178
+ {
179
+ echo ''
180
+ echo '# New changes'
181
+ } >>./docs/tutorial.md
182
+ {
183
+ echo ''
184
+ echo '# New changes'
185
+ } >>./src/cli/entrypoint.py
186
+ {
187
+ echo ''
188
+ echo '# New changes'
189
+ } >>./src/cli/main.py
190
+
191
+ registry:build:
192
+ extends:
193
+ - .registry:container
194
+ variables:
195
+ BASEIMAGE_NAME: python:3.13-alpine
196
+ CONTAINER_FOLDER: build
197
+ CONTAINER_IMAGE_TAG: build
198
+ rules:
199
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
200
+ changes:
201
+ - containers/build/Dockerfile
202
+ - containers/rehost/images.txt
203
+ - requirements/build.txt
204
+ - requirements/runtime.txt
205
+
206
+ registry:codestyle:
207
+ extends:
208
+ - .registry:container
209
+ variables:
210
+ BASEIMAGE_NAME: python:3.13-alpine
211
+ CONTAINER_FOLDER: codestyle
212
+ CONTAINER_IMAGE_TAG: codestyle
213
+ rules:
214
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
215
+ changes:
216
+ - containers/codestyle/Dockerfile
217
+ - containers/rehost/images.txt
218
+ - requirements/quality.txt
219
+ - requirements/runtime.txt
220
+ - requirements/tests.txt
221
+
222
+ registry:commits:
223
+ extends:
224
+ - .registry:container
225
+ variables:
226
+ BASEIMAGE_NAME: python:3.13-alpine
227
+ CONTAINER_FOLDER: commits
228
+ CONTAINER_IMAGE_TAG: commits
229
+ rules:
230
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
231
+ changes:
232
+ - containers/commits/Dockerfile
233
+ - containers/rehost/images.txt
234
+ - requirements/commits.txt
235
+
236
+ registry:deploy:
237
+ extends:
238
+ - .registry:container
239
+ variables:
240
+ BASEIMAGE_NAME: python:3.13-alpine
241
+ CONTAINER_FOLDER: deploy
242
+ CONTAINER_IMAGE_TAG: deploy
243
+ rules:
244
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
245
+ changes:
246
+ - containers/deploy/Dockerfile
247
+ - containers/rehost/images.txt
248
+ - requirements/deploy.txt
249
+
250
+ registry:pages:
251
+ extends:
252
+ - .registry:container
253
+ variables:
254
+ BASEIMAGE_NAME: python:3.13-slim
255
+ CONTAINER_FOLDER: pages
256
+ CONTAINER_IMAGE_TAG: pages
257
+ rules:
258
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
259
+ changes:
260
+ - containers/pages/Dockerfile
261
+ - containers/rehost/images.txt
262
+ - requirements/coverage.txt
263
+ - requirements/pages.txt
264
+
265
+ registry:preview:
266
+ extends:
267
+ - .registry:container
268
+ variables:
269
+ BASEIMAGE_NAME: python:3.13-alpine
270
+ CONTAINER_FOLDER: preview
271
+ CONTAINER_IMAGE_TAG: preview
272
+ rules:
273
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
274
+ changes:
275
+ - containers/preview/Dockerfile
276
+ - containers/rehost/images.txt
277
+ - requirements/docs.txt
278
+ - requirements/tests.txt
279
+
280
+ registry:test-coverage-linux:
281
+ extends:
282
+ - .registry:container
283
+ variables:
284
+ BASEIMAGE_NAME: python:3.13
285
+ CONTAINER_FOLDER: test-coverage-linux
286
+ CONTAINER_IMAGE_TAG: test-coverage-linux
287
+ rules:
288
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
289
+ changes:
290
+ - containers/rehost/images.txt
291
+ - containers/test-coverage-linux/Dockerfile
292
+ - requirements/coverage.txt
293
+ - requirements/runtime.txt
294
+ - requirements/tests.txt
295
+
296
+ registry:test-coverage-windows:
297
+ extends:
298
+ - .registry:container
299
+ variables:
300
+ BASEIMAGE_NAME: tobix/pywine:3.10
301
+ CONTAINER_FOLDER: test-coverage-windows
302
+ CONTAINER_IMAGE_TAG: test-coverage-windows
303
+ rules:
304
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
305
+ changes:
306
+ - containers/rehost/images.txt
307
+ - containers/test-coverage-windows/Dockerfile
308
+ - requirements/coverage.txt
309
+ - requirements/runtime.txt
310
+ - requirements/tests.txt
311
+
312
+ registry:test-oldest:
313
+ extends:
314
+ - .registry:container
315
+ variables:
316
+ BASEIMAGE_NAME: python:3.9
317
+ CONTAINER_FOLDER: test-linux
318
+ CONTAINER_IMAGE_TAG: test-oldest
319
+ rules:
320
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
321
+ changes:
322
+ - containers/rehost/images.txt
323
+ - containers/test-linux/Dockerfile
324
+ - requirements/tests.txt
325
+
326
+ registry:test-latest:
327
+ extends:
328
+ - .registry:container
329
+ variables:
330
+ BASEIMAGE_NAME: python:3.13
331
+ CONTAINER_FOLDER: test-linux
332
+ CONTAINER_IMAGE_TAG: test-latest
333
+ rules:
334
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
335
+ changes:
336
+ - containers/rehost/images.txt
337
+ - containers/test-linux/Dockerfile
338
+ - requirements/tests.txt
339
+
340
+ codestyle:
341
+ needs:
342
+ - job: registry:codestyle
343
+ artifacts: false
344
+ optional: true
345
+ rules:
346
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
347
+ changes:
348
+ - 'CHANGELOG.md'
349
+ - 'docs/**/*'
350
+ - 'requirements/**/*'
351
+ - 'setup.py'
352
+ - 'src/**/*'
353
+ - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
354
+ when: on_success
355
+
356
+ lint:
357
+ needs:
358
+ - job: registry:codestyle
359
+ artifacts: false
360
+ optional: true
361
+ rules:
362
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
363
+ changes:
364
+ - 'CHANGELOG.md'
365
+ - 'docs/**/*'
366
+ - 'requirements/**/*'
367
+ - 'setup.py'
368
+ - 'src/**/*'
369
+ - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
370
+ when: on_success
371
+
372
+ typings:
373
+ needs:
374
+ - job: registry:codestyle
375
+ artifacts: false
376
+ optional: true
377
+ rules:
378
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
379
+ changes:
380
+ - 'CHANGELOG.md'
381
+ - 'docs/**/*'
382
+ - 'requirements/**/*'
383
+ - 'setup.py'
384
+ - 'src/**/*'
385
+ - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
386
+ when: on_success
387
+
388
+ build:
389
+ extends:
390
+ - .build
391
+ needs:
392
+ - job: registry:build
393
+ artifacts: false
394
+ optional: true
395
+ - job: codestyle
396
+ artifacts: false
397
+ optional: true
398
+ - job: commits
399
+ artifacts: false
400
+ optional: true
401
+ - job: lint
402
+ artifacts: false
403
+ optional: true
404
+ - job: typings
405
+ artifacts: false
406
+ optional: true
407
+ rules:
408
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
409
+ changes:
410
+ - 'CHANGELOG.md'
411
+ - 'requirements/**/*'
412
+ - 'src/**/*'
413
+ - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
414
+ when: on_success
415
+
416
+ .test:rules:
417
+ rules:
418
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
419
+ changes:
420
+ - 'CHANGELOG.md'
421
+ - 'requirements/**/*'
422
+ - 'src/**/*'
423
+ - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
424
+ when: on_success
425
+
426
+ .coverage:rules:
427
+ rules:
428
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
429
+ changes:
430
+ - 'CHANGELOG.md'
431
+ - 'requirements/**/*'
432
+ - 'sonar-project.properties'
433
+ - 'src/**/*'
434
+ - 'tests/**/*'
435
+ - if: $CI_COMMIT_TAG || $CI_PIPELINE_SOURCE == "trigger" || $CI_PIPELINE_SOURCE == "web" || $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
436
+ when: on_success
437
+ - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
438
+ when: always
439
+
440
+ coverage:linux:
441
+ extends:
442
+ - .coverage:template
443
+ - .coverage:rules
444
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:test-coverage-linux
445
+ needs:
446
+ - job: registry:test-coverage-linux
447
+ artifacts: false
448
+ optional: true
449
+ variables:
450
+ COVERAGE_EXCLUDE_ALSO: 'pragma: macos cover|pragma: windows cover'
451
+ COVERAGE_FILE: ${CI_PROJECT_DIR}/coverage-reports/.coverage-linux
452
+ COVERAGE_XML: ${CI_PROJECT_DIR}/coverage-reports/coverage-linux.xml
453
+
454
+ coverage:windows:
455
+ extends:
456
+ - .coverage:template
457
+ - .coverage:rules
458
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:test-coverage-windows
459
+ needs:
460
+ - job: registry:test-coverage-windows
461
+ artifacts: false
462
+ optional: true
463
+ variables:
464
+ COVERAGE_FILE: ${CI_PROJECT_DIR}/coverage-reports/.coverage-windows
465
+ COVERAGE_EXCLUDE_ALSO: 'pragma: linux cover|pragma: macos cover'
466
+ COVERAGE_XML: ${CI_PROJECT_DIR}/coverage-reports/coverage-windows.xml
467
+ SUITE: 'colors\|versions\|windows'
468
+
469
+ py3.9:
470
+ extends:
471
+ - .test:template
472
+ - .test:rules
473
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:test-oldest
474
+ before_script:
475
+ # Inherit before_script
476
+ - !reference ['.test:template', before_script]
477
+
478
+ py3.13:
479
+ extends:
480
+ - .test:template
481
+ - .test:rules
482
+ image: registry.gitlab.com/radiandevcore/tools/pre-commit-crocodile/pre-commit-crocodile:test-latest
483
+ before_script:
484
+ # Inherit before_script
485
+ - !reference ['.test:template', before_script]
486
+
487
+ quality:coverage:
488
+ needs:
489
+ - job: registry:test-coverage-linux
490
+ artifacts: false
491
+ optional: true
492
+ - job: coverage:linux
493
+ - job: coverage:windows
494
+ variables:
495
+ COVERAGE_FILE: !reference ['.coverage:scripts', variables, COVERAGE_COMMON_FILE]
496
+ COVERAGE_RCFILE: !reference ['.coverage:scripts', variables, COVERAGE_RCFILE]
497
+ rules: !reference ['.coverage:rules', rules]
498
+
499
+ quality:sonarcloud:
500
+ needs:
501
+ - job: registry:rehost
502
+ artifacts: false
503
+ optional: true
504
+ - job: coverage:linux
505
+ - job: coverage:windows
506
+ rules:
507
+ - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
508
+ changes:
509
+ - 'CHANGELOG.md'
510
+ - 'requirements/**/*'
511
+ - 'sonar-project.properties'
512
+ - 'src/**/*'
513
+ - 'tests/**/*'
514
+ when: always
515
+ - if: $CI_COMMIT_REF_NAME == "main"
516
+ when: always
517
+ - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
518
+ when: always
519
+ - when: never
520
+
521
+ deploy:release:
522
+ needs:
523
+ - job: registry:deploy
524
+ artifacts: false
525
+ optional: true
526
+ - job: build
527
+ - job: coverage:linux
528
+ artifacts: false
529
+ - job: coverage:windows
530
+ artifacts: false
531
+ - job: py3.9
532
+ artifacts: false
533
+ - job: py3.13
534
+ artifacts: false
535
+
536
+ deploy:trial:
537
+ needs:
538
+ - job: registry:deploy
539
+ artifacts: false
540
+ optional: true
541
+ - job: build
542
+ - job: coverage:linux
543
+ artifacts: false
544
+ - job: coverage:windows
545
+ artifacts: false
546
+ - job: py3.9
547
+ artifacts: false
548
+ - job: py3.13
549
+ artifacts: false
550
+
551
+ .pages:rules:
552
+ rules:
553
+ changes:
554
+ - '.cz.yaml'
555
+ - '.gitlab-ci.yml'
556
+ - 'CHANGELOG.md'
557
+ - 'mkdocs.yml'
558
+ - 'LICENSE'
559
+ - 'README.md'
560
+ - 'docs/**/*'
561
+ - 'requirements/**/*'
562
+
563
+ pages:
564
+ extends:
565
+ - .pages
566
+ needs:
567
+ - job: registry:pages
568
+ artifacts: false
569
+ optional: true
570
+ - job: build
571
+ artifacts: false
572
+ optional: true
573
+ - job: py3.9
574
+ artifacts: false
575
+ optional: true
576
+ - job: py3.13
577
+ artifacts: false
578
+ optional: true
579
+ - job: quality:coverage
580
+ artifacts: true
581
+ optional: true
582
+ cache:
583
+ key: '${CI_JOB_NAME}'
584
+ paths:
585
+ - coverage-reports/html
586
+ rules:
587
+ - if: $CI_COMMIT_TAG || $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
588
+ changes: !reference ['.pages:rules', rules, changes]
589
+ - if: $CI_COMMIT_BRANCH && $CI_COMMIT_REF_PROTECTED
590
+ changes: !reference ['.pages:rules', rules, changes]
591
+ allow_failure: true
592
+ when: manual
593
+
594
+ pdf:
595
+ extends:
596
+ - pages
597
+ rules:
598
+ - if: $CI_COMMIT_TAG
599
+ - if: $CI_COMMIT_BRANCH
600
+ changes: !reference ['.pages:rules', rules, changes]
@@ -0,0 +1,4 @@
1
+ [submodule "components"]
2
+ path = .gitlab-ci.d
3
+ url = ../../../RadianDevCore/gitlab-ci/components.git
4
+ branch = main
@@ -39,7 +39,7 @@ repos:
39
39
 
40
40
  # Repository: pre-commit-hooks
41
41
  - repo: https://github.com/pre-commit/pre-commit-hooks
42
- rev: v4.6.0
42
+ rev: v5.0.0
43
43
  hooks:
44
44
  - id: check-added-large-files
45
45
  args: ['--maxkb=500']
@@ -56,7 +56,7 @@ repos:
56
56
  - id: check-yaml
57
57
  args: ['--unsafe']
58
58
  - id: destroyed-symlinks
59
- stages: [commit, push, manual] # Issue: https://github.com/pre-commit/pre-commit-hooks/pull/1085
59
+ stages: [pre-commit, pre-push, manual]
60
60
  # - id: detect-private-key
61
61
  - id: double-quote-string-fixer
62
62
  - id: end-of-file-fixer
@@ -77,16 +77,16 @@ repos:
77
77
 
78
78
  # Repository: commitizen
79
79
  - repo: https://github.com/commitizen-tools/commitizen
80
- rev: v3.29.0
80
+ rev: v4.8.3
81
81
  hooks:
82
82
  - id: commitizen
83
83
  stages:
84
84
  - commit-msg
85
85
  - id: commitizen-branch
86
- entry: cz
87
- args: [--no-raise, '3', check, --rev-range, origin/HEAD..HEAD]
86
+ entry: python ./src/hooks/check_commitizen_branch.py
87
+ args: []
88
88
  stages:
89
- - push
89
+ - pre-push
90
90
 
91
91
  # Repository: pre-commit-crocodile
92
92
  - repo: local
@@ -99,8 +99,8 @@ repos:
99
99
  language: python
100
100
  description: Check YAML (ruamel.yaml pure Python implementation)
101
101
  stages:
102
- - commit
103
- - push
102
+ - pre-commit
103
+ - pre-push
104
104
  - manual
105
105
  additional_dependencies:
106
106
  - ruamel.yaml>=0.18.6
@@ -7,8 +7,8 @@
7
7
  args: []
8
8
  language: python
9
9
  stages:
10
- - commit
11
- - push
10
+ - pre-commit
11
+ - pre-push
12
12
  - manual
13
13
 
14
14
  # Hook: prepare-commit-message