--- env: global: - VAGRANT_VERSION='2.2.18' jobs: - PLATFORM='docker-buster-default-master' ANSIBLE_VERSION='>=2.11,<2.12' - PLATFORM='docker-buster-upstream-master' ANSIBLE_VERSION='>=2.11,<2.12' - PLATFORM='docker-buster-default-galera-1' ANSIBLE_VERSION='>=2.11,<2.12' - PLATFORM='docker-buster-upstream-galera-1' ANSIBLE_VERSION='>=2.11,<2.12' - PLATFORM='docker-bullseye-default-master' ANSIBLE_VERSION='>=2.11,<2.12' - PLATFORM='docker-bullseye-upstream-master' ANSIBLE_VERSION='>=2.11,<2.12' - PLATFORM='docker-bullseye-default-galera-1' ANSIBLE_VERSION='>=2.11,<2.12' - PLATFORM='docker-bullseye-upstream-galera-1' ANSIBLE_VERSION='>=2.11,<2.12' os: - linux dist: focal language: python python: - 3.8 services: - docker before_install: - sudo apt-get -q update - sudo apt-get install -y yamllint - sudo wget -nv https://releases.hashicorp.com/vagrant/${VAGRANT_VERSION}/vagrant_${VAGRANT_VERSION}_x86_64.deb - sudo dpkg -i vagrant_${VAGRANT_VERSION}_x86_64.deb - vagrant plugin install vagrant-hostmanager install: - sudo pip install "ansible-core$ANSIBLE_VERSION" - sudo pip install ansible-lint - ansible-galaxy collection install community.general community.mysql community.crypto ansible.posix script: - VAGRANT_DEFAULT_PROVIDER=docker vagrant up $PLATFORM - > VAGRANT_DEFAULT_PROVIDER=docker vagrant provision $PLATFORM | grep -q 'changed=0.*failed=0' && (echo 'Idempotence test: pass' && exit 0) || (echo 'Idempotence test: fail' && exit 1) - VAGRANT_DEFAULT_PROVIDER=docker vagrant status - > yamllint . && (echo 'YAML lint test: pass' && exit 0) || (echo 'YAML lint test: fail' && exit 1) - > ansible-lint -v tests/test.yml && (echo 'Ansible lint test: pass' && exit 0) || (echo 'Ansible lint test: fail' && exit 1) notifications: webhooks: https://galaxy.ansible.com/api/v1/notifications/