From 96c00d9e7ac9b059c4903f2a7257e23ee50280fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Piliszek?= Date: Fri, 17 Nov 2023 15:10:20 +0100 Subject: [PATCH] [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 --- zuul.d/project.yaml | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 18de749..d576e80 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -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