language: python python: 3.8 # "3.8" also works dist: focal addons: apt: # sources: # - sourceline: ppa:ansible/ansible packages: # - python-pip # @arky had used this starting in 2018 # - python3-pip # Modern equivalent (but no need, as pip3 is pre-installed here on Travis) # - ansible-core # SLOW. WHEN IT WORKS AT ALL. Using 'pip3 install ansible-core' instead (below) is faster and greatly simplifies. Certainly let's try to mimic https://github.com/iiab/iiab/blob/master/scripts/ansible (as it evolves) for linting etc? # - python3-pymysql # These 7-or-8 packages (below) are not needed during the very rapid --syntax-check (core script, at bottom) # - python3-psycopg2 # - python3-passlib # - python3-pip # - python3-setuptools - python3-packaging # To avoid warning "packaging Python module unavailable; unable to validate collection..." # - python3-venv # - virtualenv install: # - scripts/ansible # See #2105: fails to install latest Ansible (& ~4 Ansible Collections from collections.yml) due to Travis VM's disk layout/perms being different # - pip3 install ansible # SLOW / OVERWEIGHT: installs Ansible 4.0.0+ superset, with more than 80 (far more than we need) Ansible Collections - pip3 install ansible-core # SIGNIFICANTLY FASTER than apt install of ansible-core (in 'packages:' section above). APRIL 2021: ansible-base (2.10) was renamed to ansible-core (2.11+) with the latest version number shown at https://pypi.org/project/ansible-core/ - ansible-galaxy collection install -r collections.yml # Install ~4 Ansible Collections. Slow but nec, as per https://github.com/iiab/iiab/blob/master/scripts/ansible - echo 'roles_path = ./roles/' >> ansible.cfg # Add correct roles_path to ansible.cfg, appending to https://github.com/iiab/iiab/blob/master/ansible.cfg # - "{ echo '[defaults]'; echo 'roles_path = ./roles/'; } >> ansible.cfg" # 2021-02-24: suddenly no longer works, with the newer ansible-base -> ansible-core install methods above (error arises due to '[defaults]' appearing twice) - cat ansible.cfg # VISUAL VERIFICATION OF ABOVE! # - apt -a list ansible-core # VERIFY ansible-core VERSIONS OFFERED BY apt, from https://launchpad.net/~ansible/+archive/ubuntu/ansible script: - ansible-playbook tests/test.yml -i tests/inventory --syntax-check