63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
---
|
|
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
|