The workflows under .github/workflows/ validate scripts, documentation,
deployment samples, and generated assets.
| Workflow | Purpose | Trigger |
|---|---|---|
| build | Builds and publishes Kolla container images | Matching push, submitted pull request review, schedule, or manual |
| diagram | Generates the codebase diagram used by the root readme | Push or manual |
| distros | Updates supported Vagrant box versions | Scheduled or manual |
| linter | Counts lines of code, checks documentation links, and runs linters | Push or pull request |
| on-demand_aio | Tests all-in-one deployments across supported distributions | Matching push or submitted pull request review |
| on-demand_noha | Runs no-HA integration tests | Matching push or submitted pull request review |
| on-demand | Checks Bash formatting | Matching push or submitted pull request review |
| scheduled_aio | Tests all-in-one deployments across supported distributions | Scheduled or manual |
| update | Updates Python requirements and the spelling dictionary | Scheduled or manual |
The all-in-one virtual machine matrix uses entries from distros_supported.yml that have a matching requirements file among the third release entry and the two entries before it in releases.txt. The on-demand workflow deploys the newest matching release in that range and then tests upgrades. The scheduled workflow deploys the latest release.
A Vagrant box being available does not guarantee that Kolla-Ansible supports the corresponding distribution and OpenStack release. An empty matrix, or a direct all-in-one deployment request without a matching requirements file, fails rather than silently skipping the deployment.
Run the release-selection checks from the repository root:
bash ci/test_aio_releases.sh
The shared
Vagrant setup action checks for
the vboxdrv module before starting Vagrant.
If needed, it installs the build tools and headers for the running kernel,
rebuilds the VirtualBox modules, and retries loading them.
Linux VM runners need an existing VirtualBox installation, apt-get, and
passwordless sudo.
Kernel compatibility and Secure Boot signing issues still require runner
maintenance.