openstack-helm-infra/playbooks/lint.yml
Gage Hugo b243a1e829 Track release note changes on chart change
This change adds in the script to eventually enforce release note
updates when a chart version is bumped. It will currently be set
to ignore if it fails, however once all of the charts are updated,
this should be removed to hard-enforce.

Change-Id: If3b3b26619f7288b723c0d4e6e1b97d6cfe1cf74
2021-02-08 22:36:50 +00:00

70 lines
2.4 KiB
YAML

---
# Copyright 2018 SUSE LINUX GmbH.
#
# 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: all
roles:
- name: build-helm-packages
work_dir: "{{ zuul.projects['opendev.org/openstack/openstack-helm-infra'].src_dir }}"
- name: build-helm-packages
work_dir: "{{ zuul.projects['opendev.org/openstack/openstack-helm'].src_dir }}"
when: "zuul.project.name == 'openstack/openstack-helm'"
- ensure-chart-testing
- name: chart-testing
chart_testing_options: "--chart-dirs=. --validate-maintainers=false"
zuul_work_dir: "{{ work_dir }}"
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
- hosts: all[0]
tasks:
- name: Prevent trailing whitespaces
shell: find . \! \( -path "*/\.*" -o -path "*/doc/build/*" -o -name "*.tgz" -o -name "*.png" \) -type f -exec egrep -l " +$" {} \;
register: _found_whitespaces
failed_when: _found_whitespaces.stdout != ""
args:
chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}"
- name: Check release note version matches
shell: ./tools/gate/reno-check.sh
args:
chdir: "{{ zuul.project.src_dir }}"
# TODO(gagehugo): Remove this when all the release notes are updated
ignore_errors: True
- name: Check if yamllint.conf exists
stat:
path: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}/yamllint.conf"
register: yamllintconf
- name: Install jq and pip
apt:
pkg:
- jq
- python3-pip
become: yes
when: yamllintconf.stat.exists == True
- name: Install tox
shell: pip3 install -U tox
become: yes
when: yamllintconf.stat.exists == True
- name: Execute yamllint check for values* yaml files
command: tox -e lint
args:
chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}"
when: yamllintconf.stat.exists == True
...