diff --git a/cap-ci/cap-pre-release.yaml b/cap-ci/cap-pre-release.yaml index fd48366..8c90d12 100644 --- a/cap-ci/cap-pre-release.yaml +++ b/cap-ci/cap-pre-release.yaml @@ -4,21 +4,23 @@ workertags: jobs: deploy-k8s: true deploy-kubecf: true - smoke-tests: true + pre-upgrade-smoke-tests: true cf-acceptance-tests-brain: true cf-acceptance-tests: true sync-integration-tests: true upgrade-kubecf: true + post-upgrade-smoke-tests: true deploy-stratos: true destroy-kubecf: true jobs_ordered: - deploy-k8s - deploy-kubecf -- smoke-tests +- pre-upgrade-smoke-tests - cf-acceptance-tests-brain - cf-acceptance-tests - sync-integration-tests - upgrade-kubecf +- post-upgrade-smoke-tests - deploy-stratos - destroy-kubecf backends: diff --git a/cap-ci/cap-release.yaml b/cap-ci/cap-release.yaml index 25ab9cf..5b14e32 100644 --- a/cap-ci/cap-release.yaml +++ b/cap-ci/cap-release.yaml @@ -4,21 +4,23 @@ workertags: jobs: deploy-k8s: false deploy-kubecf: true - smoke-tests: true + pre-upgrade-smoke-tests: true cf-acceptance-tests-brain: true cf-acceptance-tests: true sync-integration-tests: true upgrade-kubecf: true + post-upgrade-smoke-tests: true deploy-stratos: true destroy-kubecf: true jobs_ordered: - deploy-k8s - deploy-kubecf -- smoke-tests +- pre-upgrade-smoke-tests - cf-acceptance-tests-brain - cf-acceptance-tests - sync-integration-tests - upgrade-kubecf +- post-upgrade-smoke-tests - deploy-stratos - destroy-kubecf backends: diff --git a/cap-ci/jobs/smoke-tests.tmpl b/cap-ci/common/smoke-tests.tmpl similarity index 93% rename from cap-ci/jobs/smoke-tests.tmpl rename to cap-ci/common/smoke-tests.tmpl index 8f3185d..d4522ee 100644 --- a/cap-ci/jobs/smoke-tests.tmpl +++ b/cap-ci/common/smoke-tests.tmpl @@ -1,5 +1,5 @@ -{{ define "jobs_smoke-tests" }} -- name: smoke-tests-{{ .scheduler }}-{{ .backend }}-{{ .avail }} +{{ define "common_smoke_tests" }} +- name: {{ .prefix }}smoke-tests-{{ .scheduler }}-{{ .backend }}-{{ .avail }} serial_groups: [{{ .scheduler }}-{{ .backend }}-{{ .avail }}] public: false plan: diff --git a/cap-ci/jobs/post-upgrade-smoke-tests.tmpl b/cap-ci/jobs/post-upgrade-smoke-tests.tmpl index 3c86ec7..3aada5c 100644 --- a/cap-ci/jobs/post-upgrade-smoke-tests.tmpl +++ b/cap-ci/jobs/post-upgrade-smoke-tests.tmpl @@ -1,58 +1,3 @@ {{ define "jobs_post-upgrade-smoke-tests" }} -- name: post-upgrade-smoke-tests-{{ .scheduler }}-{{ .backend }}-{{ .avail }} - serial_groups: [{{ .scheduler }}-{{ .backend }}-{{ .avail }}] - public: false - plan: - - get: catapult - - get: {{ .backend }}-pool.kube-hosts - {{- if ne .position 0 }} - passed: - - {{ index .jobs_enabled (sub .position 1) }}-{{ .scheduler }}-{{ .backend }}-{{ .avail }} - {{- end }} - trigger: true - {{- if index .jobs "deploy-k8s" }} - - get: tfstate-pool - {{- if ne .position 0 }} - passed: - - {{ index .jobs_enabled (sub .position 1) }}-{{ .scheduler }}-{{ .backend }}-{{ .avail }} - {{- end }} - {{- end }} - - task: test-{{ .scheduler }} - {{- if has .workertags .backend }} - tags: [{{ index .workertags .backend }}] - {{- end }} - timeout: 1h30m - input_mapping: - pool.kube-hosts: {{ .backend }}-pool.kube-hosts - config: - platform: linux - image_resource: - type: registry-image - source: - repository: splatform/catapult - inputs: - - name: catapult - - name: pool.kube-hosts - params: - QUIET_OUTPUT: true - DOWNLOAD_CATAPULT_DEPS: false - ENABLE_EIRINI: {{ eq .scheduler "eirini" }} -{{- if eq .avail "ha" }} - HA: true -{{- end }} -{{- if eq .avail "all" }} -{{- print .allbells }} -{{- end }} - KUBECF_TEST_SUITE: smokes - run: - path: "/bin/bash" - args: - - -c - - | - {{ tmpl.Exec "scripts_obtain_kubeconfig" | indent 12 | trimSpace }} - {{ tmpl.Exec ( print "scripts_import_" .backend ) | indent 12 | trimSpace }} - {{ tmpl.Exec "scripts_test" | indent 12 | trimSpace }} - {{- if index .jobs "deploy-k8s" }} - {{ tmpl.Exec "common_destroy_k8s" . | indent 2 | trimSpace }} - {{- end }} +{{ tmpl.Exec "common_smoke_tests" (. | merge (dict "prefix" "post-upgrade-")) }} {{ end }} diff --git a/cap-ci/jobs/pre-upgrade-smoke-tests.tmpl b/cap-ci/jobs/pre-upgrade-smoke-tests.tmpl index 8d42702..befad5a 100644 --- a/cap-ci/jobs/pre-upgrade-smoke-tests.tmpl +++ b/cap-ci/jobs/pre-upgrade-smoke-tests.tmpl @@ -1,58 +1,3 @@ {{ define "jobs_pre-upgrade-smoke-tests" }} -- name: pre-upgrade-smoke-tests-{{ .scheduler }}-{{ .backend }}-{{ .avail }} - serial_groups: [{{ .scheduler }}-{{ .backend }}-{{ .avail }}] - public: false - plan: - - get: catapult - - get: {{ .backend }}-pool.kube-hosts - {{- if ne .position 0 }} - passed: - - {{ index .jobs_enabled (sub .position 1) }}-{{ .scheduler }}-{{ .backend }}-{{ .avail }} - {{- end }} - trigger: true - {{- if index .jobs "deploy-k8s" }} - - get: tfstate-pool - {{- if ne .position 0 }} - passed: - - {{ index .jobs_enabled (sub .position 1) }}-{{ .scheduler }}-{{ .backend }}-{{ .avail }} - {{- end }} - {{- end }} - - task: test-{{ .scheduler }} - {{- if has .workertags .backend }} - tags: [{{ index .workertags .backend }}] - {{- end }} - timeout: 1h30m - input_mapping: - pool.kube-hosts: {{ .backend }}-pool.kube-hosts - config: - platform: linux - image_resource: - type: registry-image - source: - repository: splatform/catapult - inputs: - - name: catapult - - name: pool.kube-hosts - params: - QUIET_OUTPUT: true - DOWNLOAD_CATAPULT_DEPS: false - ENABLE_EIRINI: {{ eq .scheduler "eirini" }} -{{- if eq .avail "ha" }} - HA: true -{{- end }} -{{- if eq .avail "all" }} -{{- print .allbells }} -{{- end }} - KUBECF_TEST_SUITE: smokes - run: - path: "/bin/bash" - args: - - -c - - | - {{ tmpl.Exec "scripts_obtain_kubeconfig" | indent 12 | trimSpace }} - {{ tmpl.Exec ( print "scripts_import_" .backend ) | indent 12 | trimSpace }} - {{ tmpl.Exec "scripts_test" | indent 12 | trimSpace }} - {{- if index .jobs "deploy-k8s" }} - {{ tmpl.Exec "common_destroy_k8s" . | indent 2 | trimSpace }} - {{- end }} +{{ tmpl.Exec "common_smoke_tests" (. | merge (dict "prefix" "pre-upgrade-")) }} {{ end }} diff --git a/cap-ci/pipeline.yaml.tmpl b/cap-ci/pipeline.yaml.tmpl index e78d076..da4e532 100644 --- a/cap-ci/pipeline.yaml.tmpl +++ b/cap-ci/pipeline.yaml.tmpl @@ -1,14 +1,11 @@ --- {{- $config := (datasource "config") }} -{{- /* Iterate over config jobs_enabled and jobs to get ordered array of enabled jobs */ -}} -{{- define "jobs_ordered" -}} -{{- range $_, $job := .jobs_ordered -}} -{{- if index $.jobs $job -}} -- {{ $job }} -{{ end }}{{ end }}{{ end }} -# Create array of jobs which are enabled, using jobs_ordered array from config -{{ $jobs_enabled := (tmpl.Exec "jobs_ordered" $config | data.YAMLArray ) }} +{{- $jobs_enabled := slice }} +{{- range $_, $job := $config.jobs_ordered }} +{{- if index $config.jobs $job }} +{{- $jobs_enabled = $jobs_enabled | append $job }} +{{- end }}{{ end }} groups: {{- range $backend, $enabled := $config.backends }}{{ if $enabled }}