Files
computer-playbook/.github/workflows/test.yml
T
kevinveenbirkenbachandClaude Opus 4.8 4a398653aa feat(ci): per-target and per-test summaries for the lint and test jobs
parallel.sh mirrors its per-target wall-clock table into
GITHUB_STEP_SUMMARY, so make lint and make test render a target/status/
duration overview on the run page. The pytest runner writes junit XML
per suite into build/test-reports and test.yml renders them via
utils/github/pytest_summary.py: headline counts with total time,
failures opened with durations, every test collapsed slowest-first.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 02:39:28 +02:00

45 lines
1.1 KiB
YAML

name: "🧪 Test"
on:
workflow_call:
workflow_dispatch:
permissions:
contents: read
jobs:
test:
name: 🧪 Test
runs-on: ubuntu-latest
timeout-minutes: 45
env:
INFINITO_TEST_RUNNER: host
steps:
- name: ⬇️ Checkout repository
uses: actions/checkout@v7.0.0
- name: 🔧 Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
cache: pip
cache-dependency-path: pyproject.toml
- name: ▶️ Run the full test suite via make
shell: bash
run: |
set -euo pipefail
make test 2>&1 | tee /tmp/test-output.txt
- name: 📊 Per-test summary from junit reports
if: always()
shell: bash
run: |
python3 utils/github/pytest_summary.py build/test-reports >> "$GITHUB_STEP_SUMMARY"
- name: 🔨 Build step summary from annotations
if: always()
working-directory: ${{ github.workspace }}
run: |
python3 -m utils.annotations.summarize /tmp/test-output.txt "Test Annotation Summary"