--- yamllint: extends: .job stage: unit-tests script: - yamllint --strict . 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: \|^- name: ' --include \*.yml --include \*.yaml . | xargs 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 script: - pip install tox - cd contrib/inventory_builder && tox when: manual except: ['triggers', 'master']