From 4846a2d5c119f619b065bed832cd9e725093b1c3 Mon Sep 17 00:00:00 2001 From: Drew Walters Date: Thu, 28 Mar 2019 16:49:03 -0500 Subject: [PATCH] CI: Add chart build job for latest Helm toolkit This commit introduces a non-voting job to lint Helm charts against the latest version of Helm toolkit from OpenStack-Helm Infra. This job should serve as an indicator of when it's safe to advance the version of Helm toolkit used by Airship. Additionally, this commit modifies all Helm chart lint jobs to run on each commit, regardless of the files modified by a change. This should not introduce a noticeable difference in CI runtime, as these jobs execute quicker than the tox jobs. Change-Id: Iffbe718f2f8cabaac74910e0c40a13e17e3f0578 --- .zuul.yaml | 20 ++++++++++++++++++++ tools/gate/playbooks/build-charts.yaml | 24 ++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tools/gate/playbooks/build-charts.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 496c4dd..97aff1c 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -23,9 +23,12 @@ - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ + - airship-divingbell-chart-build-gate + - airship-divingbell-chart-build-latest-htk gate: jobs: - airship-divingbell-linter + - airship-divingbell-chart-build-gate # NOTE(portdirect): enable when voting enabled. # - airship-divingbell-ubuntu: # irrelevant-files: @@ -37,6 +40,23 @@ run: tools/gate/playbooks/zuul-linter.yaml nodeset: openstack-helm-single-node +- job: + name: airship-divingbell-chart-build-gate + description: Builds charts using pinned Helm toolkit. + timeout: 7200 + run: ./tools/gate/playbooks/build-charts.yaml + nodeset: openstack-helm-single-node + +- job: + name: airship-divingbell-chart-build-latest-htk + description: Builds charts using latest Helm toolkit. + timeout: 7200 + voting: false + run: ./tools/gate/playbooks/build-charts.yaml + nodeset: openstack-helm-single-node + vars: + HTK_COMMIT: master + - job: name: airship-divingbell roles: diff --git a/tools/gate/playbooks/build-charts.yaml b/tools/gate/playbooks/build-charts.yaml new file mode 100644 index 0000000..8807e4a --- /dev/null +++ b/tools/gate/playbooks/build-charts.yaml @@ -0,0 +1,24 @@ +# Copyright 2019, AT&T Intellectual Property +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- hosts: primary + tasks: + - name: Execute the make target to package Helm charts. + make: + chdir: "{{ zuul.project.src_dir }}" + target: charts + params: + HTK_COMMIT: "{{ HTK_COMMIT | default('') }}" + register: result + failed_when: result.failed