CI Test Reports#

Summary#

Small suite#

Generated: 2026-07-05 06:33:44 UTC

Stack

Tests

Failures

Skipped

Duration (s)

Zoomy Core

Zoomy JAX

AMReX

DMPlex

FEniCSx

Firedrake

Large / benchmark suite#

Generated: 2026-07-05 06:32:50 UTC

Stack

Tests

Failures

Skipped

Duration (s)

Zoomy Core

13

0

9

1.36

Zoomy JAX

2

0

1

1.85

AMReX

13

0

9

1.27

DMPlex

12

0

8

3.00

FEniCSx

13

0

9

1.28

Firedrake

12

0

8

2.59


Detailed HTML reports (per stack)#

Embedded pytest-html reports (wider layout: scroll horizontally on narrow viewports).

Zoomy Core#

Small#

Large#

Zoomy JAX#

Small#

Large#

AMReX#

Small#

Large#

DMPlex#

Small#

Large#

FEniCSx#

Small#

Large#

Firedrake#

Small#

Large#

Missing reports show a short placeholder inside the iframe.


How to use this page#

Local book build with real reports#

From the repository root:

python tests/reporting/generate_test_report.py  \
  --output-dir artifacts/test-reports/small/core   # or large/<stack>/…
python docs/scripts/generate_ci_test_report.py
jupyter-book build docs/book

Files created or refreshed by docs/scripts/generate_ci_test_report.py:

Output

Role

docs/_generated/test_report_summary.md

Summary tables for this page ({include})

docs/book/_static/pytest-report-small-<stack>.html

Embedded small-suite HTML per stack

docs/book/_static/pytest-report-large-<stack>.html

Embedded large-suite HTML per stack

docs/book/tutorials/ipynb/**

Mirror of tutorials/**/*.ipynb for MyST pages

Stub HTML is written when no matching report.html exists under artifacts/.

Adding or changing tests#

  • Mark tests with the right pytest markers (small, jax, core, firedrake, …) so the correct CI job collects them.

  • After CI runs, use the Summary table and the matching pytest-html section on this page.

Docs-only changes#

  • Pushing documentation alone still rebuilds the site; Render Webpage re-downloads the latest Smart Tests artifacts from main when it runs.


Architecture#

  • Smart Tests (.github/workflows/tests-report.yml) runs pytest inside GHCR images (zoomy_core, zoomy_jax, zoomy_firedrake, placeholders, …), bind-mounts the repo, and pip install -e’s the relevant library/* trees so reports match the commit under test.

  • Artifacts: per-stack HTML/JUnit are merged into test-reports-small-bundle and test-reports-large-bundle (small vs large/benchmark jobs).

  • Render Webpage downloads those bundles, runs docs/scripts/generate_ci_test_report.py, then builds the book (including this page).

  • Containers must publish images before pulls make sense; a successful Containers run triggers another Smart Tests pass via workflow_run so :latest images match the same SHA.

  • Submodules: Smart Tests uses actions/checkout with submodules: recursive so library/* exists on the runner.