#!/bin/bash # ============LICENSE_START======================================================= # Copyright (C) 2019 The Nordix Foundation. All rights reserved. # ================================================================================ # 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. # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= # source engine-vars.sh so we can install the correct versions of # pip, ansible, and ansible-lint source $WORKSPACE/engine/config/engine-vars.sh # install dependencies sudo apt update > /dev/null 2>&1 sudo apt install -y -q=3 gcc libffi-dev libssl-dev lsb-release libpython3-dev \ python3-minimal python3-pip python3-yaml virtualenv > /dev/null 2>&1 # override ENGINE_YAML_LINT_VERSION locally while yamllint patch is still open export ENGINE_YAML_LINT_VERSION=1.19.0 cd $WORKSPACE echo "Info: Install pip==$ENGINE_PIP_VERSION ansible==$ENGINE_ANSIBLE_VERSION and yamllint==$ENGINE_YAML_LINT_VERSION" echo "----------------------------------------------------" # install pip, ansible, and yamllint in venv export ANSIBLE_VENV=$WORKSPACE/.venv virtualenv -p python3 --quiet --no-site-packages ${ANSIBLE_VENV} source ${ANSIBLE_VENV}/bin/activate pip -q install --upgrade pip==$ENGINE_PIP_VERSION pip -q install --upgrade virtualenv pip setuptools shade \ ansible==$ENGINE_ANSIBLE_VERSION yamllint==$ENGINE_YAML_LINT_VERSION echo "----------------------------------------------------" echo "Info: Done" echo "Info: Run yamllint on yaml files" echo "----------------------------------------------------" # set exit_code so we exit ourselves rather than ansible-lint bailing out without # verifying all the yaml files declare -i exit_code=0 # lint the yaml files cd $WORKSPACE/engine for yaml_file in $(find . -type f -name *.yml | sort); do echo "--> Checking '${yaml_file}' yaml file..." yamllint --format standard --strict ${yaml_file} lint_exit_code=$? if [[ $lint_exit_code != 0 ]]; then exit_code=$lint_exit_code else echo [OK] fi echo done echo "----------------------------------------------------" echo "Info: Done" exit $exit_code # vim: set ts=2 sw=2 expandtab: