Skip to content

CI/CD integration — GitHub Actions and GitLab CI plugins #8

Description

@ThomasMalletCodra

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

  1. Add moduletester run CLI subcommand (headless execution, no Qt required).
  2. Generate JUnit XML output (--format junit) for CI integration.
  3. Create a GitHub Action wrapper in a separate repository.
  4. Create a GitLab CI include template.
  5. Ensure Xvfb compatibility for Linux CI runners if GUI is needed.

Acceptance criteria

  • moduletester run CLI command works headlessly
  • JUnit XML output format is supported
  • Exit code reflects test plan pass/fail
  • GitHub Action wrapper is available
  • Documentation covers CI/CD setup for both GitHub and GitLab

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions