CI configuration¶
IMAS-Paraview uses GitHub Actions for CI. This page provides an overview of the CI Plan and deployment processes. Some of the jobs in the CI Plan can also be run manually, examples provided below.
CI Plan¶
The GitHub Actions workflow file is defined in .github/workflows/ci.yml. It includes the following jobs:
- Linting
Runs
rufffor both lint checks and code formatting.This is automatically triggered on push. Example manual run:
$ ruff check --output-format=github imas_paraview $ ruff format --diff imas_paraview- Testing
Executes unit tests with
pytestusing the kitware/paraview-for-ci container.Tests are run with coverage reports and JUnit XML output. Example:
$ /opt/paraview/install/bin/pvpython -m pytest \ --cov=imas_paraview \ --cov-report=term-missing \ --cov-report=html \ --junit-xml=junit-3.11.xml- Benchmarking
Runs ASV benchmarks on the CI server. Benchmarks compare current changes against develop, main, and HEAD.
Includes setup of a reproducible machine configuration and publishes HTML results.
Example:
$ asv machine --yes $ asv run -v --show-stderr --skip-existing-successful HEAD^! $ asv compare develop HEAD $ asv publish- Documentation
Builds the Sphinx documentation and uploads the HTML output as an artifact.
Example:
$ make -C docs html