Tests

The filosofy to test is:

  • Test multiple distributions.
  • Test multiple version of Ansible, previous, current and next previous and future.

Each role’s GitHub Actions workflow runs Molecule across this set of distributions:

Distribution Ansible 2.9 Ansible 2.10 Ansible devel
Alpine latest yes yes yes
Alpine edge yes yes yes
Archlinux (base) yes yes yes
CentOS 7 yes yes yes
CentOS latest yes yes yes
Debian stable yes yes yes
Debian latest yes yes yes
Debian unstable yes yes yes
Fedora latest yes yes yes
Fedora rawhide yes yes yes
OpenSuse Leap yes yes yes
OpenSuse Tumbleweed yes yes yes
Ubuntu Artful (17) yes yes yes
Ubuntu latest yes yes yes
Ubuntu devel yes yes yes

There are multiple tests configured, here is how they relate.

Unit tests

To test an Ansible role, GitHub Actions runs Molecule on every commit and pull request. This verifies that the role does it’s job, but does not ensure that it works in combination with other roles.

Time based unit tests

Because distributions, molecule, and ansible change over time, each role’s workflow also carries a monthly cron schedule, staggered across the month so all ~240 roles aren’t rebuilt on the same day. See the schedule: block in a role’s .github/workflows/molecule.yml for its day.


Copyright © 2024 Buluma. Distributed under an MIT license.