[CI] Optimise jobs

Do not run them more often than needed, i.e., run only when
relevant files are modified.

Also clean up the way the Zuul project file is structured.

Change-Id: I6224c991c17a0ca0bc5d07e22c2a774898a447f1
This commit is contained in:
Radosław Piliszek 2023-11-17 15:10:20 +01:00
parent 8188b0864a
commit 96c00d9e7a

View File

@ -1,21 +1,38 @@
- project:
check:
jobs:
jobs: &check-jobs
- nox-linters
# cross-testing with component-template
- opendev-buildset-registry
- nebulous-component-template-hadolint: &cross_test_component_template
- nebulous-component-template-hadolint:
vars:
zuul_work_dir: src/opendev.org/nebulous/component-template
required-projects:
- nebulous/component-template
- nebulous-component-template-helm-lint: *cross_test_component_template
- nebulous-component-template-apply-helm-charts: *cross_test_component_template
files:
- ^playbooks/hadolint/
- ^roles/ensure-hadolint/
- ^roles/hadolint/
- nebulous-component-template-helm-lint:
vars:
zuul_work_dir: src/opendev.org/nebulous/component-template
required-projects:
- nebulous/component-template
files:
# NOTE: hackish way to only run it when its definition changes
# as no files exist in this repo that control its behaviour
- ^never-existing-file$
- nebulous-component-template-apply-helm-charts:
vars:
zuul_work_dir: src/opendev.org/nebulous/component-template
required-projects:
- nebulous/component-template
files: &nebulous-component-template-apply-helm-charts-files
- ^playbooks/helm/
- ^playbooks/kubernetes/
- ^roles/collect-kubernetes-pods-logs/
- opendev-buildset-registry:
files: *nebulous-component-template-apply-helm-charts-files
gate:
jobs:
- nox-linters
# cross-testing with component-template
- opendev-buildset-registry
- nebulous-component-template-hadolint: *cross_test_component_template
- nebulous-component-template-helm-lint: *cross_test_component_template
- nebulous-component-template-apply-helm-charts: *cross_test_component_template
jobs: *check-jobs