Testing

GitHub Actions

Griffin is automatically tested on every push using GitHub Actions across three platforms:

  • Ubuntu 24.04 - Full installation with all flags enabled
  • macOS (latest) - Full installation including GUI apps
  • WSL - CLI-only installation (no GUI)

Workflow files are located in .github/workflows/:

  • ubuntu.yaml - Ubuntu testing
  • macos.yaml - macOS testing
  • wsl.yaml - WSL testing

Local Testing

Molecule

We use Molecule for local testing of the Ansible role. This allows you to verify changes in an isolated Docker container before pushing code.

Prerequisites:

  • Docker
  • Python 3
  • Molecule (pip install molecule molecule-plugins[docker])

Running Tests: To run the full test suite (create, converge, verify, destroy):

cd post-installation
molecule test

To just run the playbook (useful for iterating):

molecule converge

Linting

We use ansible-lint to ensure code quality and adherence to best practices.

Running Linter:

ansible-lint

This check is also enforced in CI via the lint.yaml workflow.

Troubleshooting

If you encounter any issues during the testing process, consult the FAQ for assistance.