CI Test Reports#

Summary#

Small suite#

Generated: 2026-05-13 14:20:20 UTC

Stack

Tests

Failures

Skipped

Duration (s)

Zoomy Core

10

0

3

1.59

Zoomy JAX

5

0

0

2.52

AMReX

10

0

3

1.61

DMPlex

9

0

3

3.17

FEniCSx

10

0

3

1.61

Firedrake

9

0

3

2.52

Large / benchmark suite#

Generated: 2026-05-13 14:42:14 UTC

Stack

Tests

Failures

Skipped

Duration (s)

Zoomy Core

Zoomy JAX

AMReX

DMPlex

FEniCSx

Firedrake


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.