|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: Enhanced module & openvox-agent testing |
| 4 | +date: 2026-04-02 |
| 5 | +github_username: bastelfreak |
| 6 | +--- |
| 7 | + |
| 8 | +Ever wanted to make changes to openvox-agent but unsure how to test it? We got you covered! |
| 9 | + |
| 10 | +Since a long time, we have [a workflow in the openvox repo](https://github.com/OpenVoxProject/openvox/actions/workflows/build.yml) to build all packages. |
| 11 | +Anyone with write permissions to the repo can trigger the workflow. |
| 12 | +The workflow takes a git ref (a branch name) as input and will take that as a source for the packages. |
| 13 | +All build artifacts will be published as GitHub artifacts and optionally to our [artifacts server](https://artifacts.voxpupuli.org/openvox-agent/). |
| 14 | +It usually takes around 10 minutes between finishing a build and publishing it to our server. |
| 15 | + |
| 16 | +[Due to recent changes in our Vox Pupuli module pipelines](https://github.com/voxpupuli/gha-puppet/pull/95), our module CI can now be triggered manually as well, not just by pull requests. |
| 17 | + |
| 18 | +This is very helpful to rerun the module tests on the HEAD branch of the module. |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +If the module has acceptance tests, there are also a few more options. |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | +By default, we generate a CI matrix based on the openvox/puppet major versions in metadata.json multiplied by all supported OS major versions in metadata.json. |
| 27 | +This basically allows us to test 5 different collections right now: |
| 28 | + |
| 29 | +* puppet7 |
| 30 | +* puppet8 |
| 31 | +* openvox7 |
| 32 | +* openvox8 |
| 33 | +* staging |
| 34 | + |
| 35 | +If you set the collection to `staging`, the first and third option in the dropdown become relevant. |
| 36 | +In the third option, you can provide a staging package version. |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | +Those versions map to the packages built by the [workflow in the openvox repo](https://github.com/OpenVoxProject/openvox/actions/workflows/build.yml). |
| 42 | +The first option lists the download server. |
| 43 | +It defaults to our own artifacts server, but users can provider their source if they like (for example if you built packages locally). |
| 44 | + |
| 45 | +You can already use this in our [puppet/example](https://github.com/voxpupuli/puppet-example/actions/workflows/ci.yml) repo and with the next modulesync_config release we will make this availablle to all our modules as well. |
0 commit comments