Description
Provide formalized CI/CD integration so ModuleTester test plans can be executed in CI pipelines (GitHub Actions, GitLab CI) and produce machine-readable artifacts. This bridges the gap between local manual testing and automated CI workflows.
Current behavior
- ModuleTester is a desktop GUI application.
- No headless/CLI mode for running a full test plan and generating a report without a display.
- CI usage requires manual scripting around ModuleTester.
Expected behavior
- A CLI command to run a test plan headlessly:
moduletester run --plan tests/ --output report.html --format html --exit-code
- Exit code reflects overall pass/fail (usable by CI as a quality gate).
- Pre-built GitHub Action:
- uses: Codra-Ingenierie-Informatique/moduletester-action@v1
with:
package: mypackage.tests
format: html
- Pre-built GitLab CI template (
.gitlab-ci-moduletester.yml).
- JUnit XML output for native CI result integration.
Implementation ideas
- Add
moduletester run CLI subcommand (headless execution, no Qt required).
- Generate JUnit XML output (
--format junit) for CI integration.
- Create a GitHub Action wrapper in a separate repository.
- Create a GitLab CI include template.
- Ensure
Xvfb compatibility for Linux CI runners if GUI is needed.
Acceptance criteria
Description
Provide formalized CI/CD integration so ModuleTester test plans can be executed in CI pipelines (GitHub Actions, GitLab CI) and produce machine-readable artifacts. This bridges the gap between local manual testing and automated CI workflows.
Current behavior
Expected behavior
.gitlab-ci-moduletester.yml).Implementation ideas
moduletester runCLI subcommand (headless execution, no Qt required).--format junit) for CI integration.Xvfbcompatibility for Linux CI runners if GUI is needed.Acceptance criteria
moduletester runCLI command works headlessly