diff --git a/tools/gate/playbooks/helm3-linter.yaml b/tools/gate/playbooks/helm3-linter.yaml new file mode 100644 index 0000000000..5816ce452f --- /dev/null +++ b/tools/gate/playbooks/helm3-linter.yaml @@ -0,0 +1,40 @@ +--- +# 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. + +# TODO(gagehugo): Put this in osh-infra and run it from there + +- hosts: all + tasks: + - name: install helm3 + become_user: root + shell: | + TMP_DIR=$(mktemp -d) + curl -sSL https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz | tar -zxv --strip-components=1 -C ${TMP_DIR} + sudo mv ${TMP_DIR}/helm /usr/bin/helm + rm -rf ${TMP_DIR} + environment: + HELM_VERSION: "v3.6.3" + args: + executable: /bin/bash + + - name: updates the requirements due to the lack of helm serve in helm 3 + shell: | + find "{{ zuul.project.src_dir }}" -type f -name "requirements.yaml" -exec sed -i "s#http://localhost:8879/charts#https://tarballs.opendev.org/openstack/openstack-helm-infra#g" {} \; + args: + executable: /bin/bash + + - name: make all + make: + chdir: "{{ zuul.project.src_dir }}" + target: all +... diff --git a/zuul.d/jobs-openstack-helm.yaml b/zuul.d/jobs-openstack-helm.yaml index 2e3c2d0f7e..bdc4948f2a 100644 --- a/zuul.d/jobs-openstack-helm.yaml +++ b/zuul.d/jobs-openstack-helm.yaml @@ -29,6 +29,16 @@ - ^.*\.py$ nodeset: openstack-helm-single-node +- job: + name: openstack-helm-helm3-lint + nodeset: ubuntu-focal + run: tools/gate/playbooks/helm3-linter.yaml + required-projects: + - openstack/openstack-helm-infra + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - job: name: openstack-helm-chart-deploy parent: openstack-helm-infra-functional diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index a5335c4631..52d551669c 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -25,6 +25,7 @@ check: jobs: - openstack-helm-lint + - openstack-helm-helm3-lint - openstack-helm-bandit - openstack-helm-cinder-train-ubuntu_bionic - openstack-helm-cinder-ussuri-ubuntu_bionic