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 # - ansible-core # MUCH FASTER pip3 OPTION IS BELOW. Conversely: apt (SLOW WAY) may be desired in future to mimic https://github.com/iiab/iiab/blob/master/scripts/ansible for linting etc? # - python3-pymysql # These 7-or-8 packages (below) are not needed during the very rapid --syntax-check (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 3.1.0+ superset, with more than 80 (far more than we need) Ansible Collections - pip3 install ansible-core # MUCH FASTER / MAY BE CONSIDERED IN FUTURE e.g. if above apt install of ansible-core is commented out. 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 - 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