https://github.com/lammps/lammps-test-results
LAMMPS test status website
https://github.com/lammps/lammps-test-results
Last synced: 11 days ago
JSON representation
LAMMPS test status website
- Host: GitHub
- URL: https://github.com/lammps/lammps-test-results
- Owner: lammps
- Created: 2026-07-03T17:45:43.000Z (30 days ago)
- Default Branch: main
- Last Pushed: 2026-07-15T04:08:50.000Z (18 days ago)
- Last Synced: 2026-07-15T05:27:44.302Z (18 days ago)
- Language: Python
- Size: 1.07 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LAMMPS Test Status Website
Aggregates the results of the automated LAMMPS test runs into a static
website and a rolling GitHub status issue.
## How it works
- GitHub Actions workflows in [lammps/lammps](https://github.com/lammps/lammps)
upload JUnit XML test results as artifacts for post-merge runs on the
`develop` branch (regression tests: merged `run.json` + JUnit XML; unit
tests: one `junit-` artifact per platform/configuration).
- The nightly [update workflow](.github/workflows/update.yml) in this
repository ingests new artifacts (`tools/ingest_actions.py`), archives one
`run.json` per run under `data///`, rebuilds the website
(`generator/build_site.py`), deploys it to GitHub Pages, and updates the
rolling status issue (`tools/update_issue.py`).
- Summaries of the server-side reports (code coverage, static analysis) can
be ingested as `data/external/*.json`; the publicly visible Coverity Scan
analysis metrics are scraped nightly from the project overview page
(`tools/scrape_coverity.py`).
## Notifications
The status issue body is rewritten in place on every update, which does not
notify anybody. A comment is posted only when new failures appear or known
failures are fixed; comments notify issue subscribers. Subscribe to the pinned
status issue to get emails about regressions - and nothing else.
## Local use
Everything only needs the Python standard library (plus the `gh` CLI for the
scripts that talk to GitHub):
python3 generator/build_site.py # data/ -> _site/
python3 tools/ingest_actions.py --dry-run # what would be ingested
python3 tools/update_issue.py --repo --site-url --dry-run
`run.json` files can also be produced manually from local test runs with
`tools/regression-tests/merge_results.py` (regression tests) in lammps/lammps
or `tools/junit_to_json.py` (any JUnit XML file, e.g. from
`ctest --output-junit`).
## Data layout
data///run.json
`` is `full-regression`, `quick-regression`, or `unit-tests/`;
`` is `_` and sorts chronologically. The
`run.json` format is documented in `tools/rundata.py`.