Skip to content

Test CI YAML workflow files

Ivana Kellyer edited this page Aug 2, 2024 · 3 revisions

The GitHub workflow files for testing specific integration groups (like AI, Web Frameworks, Databases, etc.) are generated by this script. Essentially, the script scans our tox.ini and generates the group test CI YAML files in .github/workflows.

There are multiple components to this:

  • tox.ini is where the configuration (what to test and what versions) is read from
  • scripts/split-tox-gh-actions/split-tox-gh-actions.py is the script that defines the test groups and generates the resulting YAML files
  • scripts/split-tox-gh-actions/templates contains the jinja2 template snippets used to generate the YAML files
  • .github/workflows/test-integrations-*.yml are the resulting workflow configuration YAMLs

If you update any of the components without keeping the rest in sync, for instance by making a change in one of the test-integrations-*.yml files that is not reflected in the templates in scripts/split-tox-gh-actions/templates, CI will error out as it actually checks if everything is in sync, meaning it runs the split-tox-gh-actions.py script and compares the result with the committed YAMLs.

Clone this wiki locally