--- yamllint: extends: .job stage: unit-tests variables: LANG: C.UTF-8 script: - yamllint --strict . except: ['triggers', 'master'] vagrant-validate: extends: .job stage: unit-tests script: - curl -sL https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb -o /tmp/vagrant_2.2.4_x86_64.deb - dpkg -i /tmp/vagrant_2.2.4_x86_64.deb - vagrant validate --ignore-provider except: ['triggers', 'master'] ansible-lint: extends: .job stage: unit-tests # lint every yml/yaml file that looks like it contains Ansible plays script: |- grep -Rl '^- hosts: \|^ hosts: ' --include \*.yml --include \*.yaml . | xargs -P 4 -n 25 ansible-lint -v except: ['triggers', 'master'] syntax-check: extends: .job stage: unit-tests variables: ANSIBLE_INVENTORY: inventory/local-tests.cfg ANSIBLE_REMOTE_USER: root ANSIBLE_BECOME: "true" ANSIBLE_BECOME_USER: root ANSIBLE_VERBOSITY: "3" script: - ansible-playbook --syntax-check cluster.yml - ansible-playbook --syntax-check upgrade-cluster.yml - ansible-playbook --syntax-check reset.yml - ansible-playbook --syntax-check extra_playbooks/upgrade-only-k8s.yml except: ['triggers', 'master'] tox-inventory-builder: stage: unit-tests extends: .job before_script: - ./tests/scripts/rebase.sh - apt-get update && apt-get install -y python3-pip - update-alternatives --install /usr/bin/python python /usr/bin/python3 10 - python -m pip install -r tests/requirements.txt script: - pip3 install tox - cd contrib/inventory_builder && tox except: ['triggers', 'master'] markdownlint: stage: unit-tests image: node before_script: - npm install -g markdownlint-cli script: - markdownlint README.md docs --ignore docs/_sidebar.md