mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-10 12:47:04 +00:00
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>
45 lines
1.1 KiB
YAML
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"
|