Summary
.github/workflows/package-smoketest.yml had nine near-identical test jobs (CLI, interfaces, config load, RAID1, VPP CLI, VPP config load, TPM, interface naming, interface naming VMware), about 40 lines each. Which jobs ran on a branch was controlled by per-branch switches in .github/config/smoketest-branches.json. The
vyos-nightly-build workflow already runs its tests as a matrix, and this change does the same here. The workflow shrinks by 45%.
Changes
- The nine test jobs are replaced by a single test job with a fixed matrix. Each row gives the test ID, display name, make target and timeout. Every row in the matrix runs, and nothing is enabled or disabled at runtime.
- Each release branch carries its own copy of the workflow, so a branch chooses its tests by editing its matrix. These per-branch keys are removed from smoketest-branches.json: test_cli_command, test_vpp, test_vpp_runner, test_tpm_tests, test_ifname.
- GitHub-hosted runners move from ubuntu-24.04 to ubuntu-26.04: test matrix, report job, PR-comment workflow, and the rolling ISO build.