Skip to content

Commit 304c616

Browse files
committed
docs: streamline CI test reporting guidance
1 parent 8f446d0 commit 304c616

18 files changed

Lines changed: 1530 additions & 2241 deletions

‎.claude/rules/testing/built-version-ci.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,6 @@ Invariants when editing:
2424
- `test-ff-matrix.yml` owns the ff-matrix bucket glob.
2525
- Scheduler jobs in `test-smokes-built.yml` set per-leg OS scope through their `runners:` inputs.
2626
- Keep the per-call suffix in `test-ff-matrix.yml`'s concurrency group so sibling calls cannot cancel one another.
27-
- Every `test-smokes.yml` / `test-ff-matrix.yml` call site passes a `label-tag`: it is what keeps CI failure labels distinct between same-OS jobs in a run's concatenated step summary. Tags need only differ among call sites that can land on the same OS — the per-OS nightly legs share one tag deliberately, since the label already carries an OS prefix.
27+
- Every `test-smokes.yml` and `test-ff-matrix.yml` call site passes a
28+
`label-tag` that distinguishes same-OS jobs in the combined run summary.
29+
Per-OS jobs may share a tag because labels also include the OS.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
paths:
3+
- .github/workflows/test-smokes.yml
4+
- .github/workflows/test-smokes-built.yml
5+
- .github/workflows/test-smokes-parallel.yml
6+
- .github/workflows/test-ff-matrix.yml
7+
- .github/workflows/update-test-timing.yml
8+
- src/tools/github.ts
9+
- tests/test.ts
10+
- tests/gha-grouping.ts
11+
- tests/integration/playwright-tests.test.ts
12+
- tests/tools/check-gha-log.ts
13+
- tests/unit/check-gha-log.test.ts
14+
- tests/unit/gha-grouping.test.ts
15+
- tests/unit/github-actions-reporting.test.ts
16+
- tests/unit/harness-failure-reporting.test.ts
17+
- tests/unit/harness-reporting-fixture.ts
18+
---
19+
20+
# GitHub Actions test reporting
21+
22+
`llm-docs/github-actions-test-reporting.md` is the deep dive. Read only the
23+
sections relevant to the edit:
24+
25+
- Workflow ownership or environment wiring: "Ownership" and "Workflow contract".
26+
- Group opening, closing, or log validation: "Log grouping" and "Verification".
27+
- Annotations, labels, excerpts, or step summaries: "Failure reporting" and
28+
"Annotation budget and labels".
29+
30+
For a trivial edit, the invariants below are sufficient.
31+
32+
Keep these invariants:
33+
34+
- A step has one group and annotation owner. Bucket loops set
35+
`QUARTO_TESTS_GHA_ORCHESTRATED=1`; otherwise the harness owns them.
36+
- Step-summary entries are emitted in both paths.
37+
- Failure lines and Deno's final failure sections remain outside groups.
38+
- The annotation count is step-wide; Deno module state is only per test file.
39+
- Every reusable-workflow call passes a `label-tag` that distinguishes same-OS
40+
jobs in the run summary.
41+
- Do not enable parallel test-file execution without redesigning grouping.

‎.github/workflows/test-ff-matrix.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ on:
3939
type: string
4040
default: '["ubuntu-latest", "windows-latest"]'
4141
label-tag:
42-
description: "Short alphanumeric tag identifying this call in CI failure labels (forwarded to test-smokes.yml; empty means the standalone dev default)"
42+
description: "Short alphanumeric tag for distinguishing same-OS jobs in failure summaries"
4343
required: false
4444
type: string
4545
default: ""

‎.github/workflows/test-smokes-parallel.yml‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,5 @@ jobs:
104104
with:
105105
buckets: ${{ matrix.buckets.files }}
106106
extra-r-packages: ${{ inputs.extra-r-packages }}
107-
# `num` is the zero-padded bucket index built in jobs-matrix, the only
108-
# thing that differs between these ~20 same-OS legs.
107+
# The bucket index distinguishes same-OS matrix jobs.
109108
label-tag: b${{ matrix.buckets.num }}

‎.github/workflows/test-smokes.yml‎

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ on:
5050
type: string
5151
default: '["ubuntu-latest", "windows-latest"]'
5252
label-tag:
53-
description: "Short alphanumeric tag identifying this call in CI failure labels (src/tools/github.ts failureLabel). Several jobs of one run share an OS and the label is the Ctrl+F navigation target in the concatenated run summary, so every caller must pass a value. Empty means labels are not unique across same-OS jobs."
53+
description: "Short alphanumeric tag for distinguishing same-OS jobs in failure summaries"
5454
required: false
5555
type: string
5656
default: ""
@@ -97,8 +97,7 @@ jobs:
9797
runs-on: ${{ matrix.os }}
9898
env:
9999
PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/ms-playwright-browsers
100-
# Read by the test harness to keep this call's failure labels distinct
101-
# from sibling jobs on the same OS in the concatenated run summary.
100+
# Distinguishes this call from other jobs on the same OS.
102101
QUARTO_TESTS_GHA_LABEL_TAG: ${{ inputs.label-tag }}
103102
steps:
104103
- name: Checkout Repo
@@ -499,8 +498,7 @@ jobs:
499498
# Useful as TinyTeX latest release is checked in run-test.sh
500499
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
501500
BUCKETS_JSON: ${{ inputs.buckets }}
502-
# This loop owns the per-file ::group:: and ::error:: markers, so the
503-
# test harness must not also emit annotations for this step.
501+
# Prevent the harness from duplicating this loop's workflow commands.
504502
QUARTO_TESTS_GHA_ORCHESTRATED: "1"
505503
run: |
506504
haserror=0
@@ -551,8 +549,7 @@ jobs:
551549
# Useful as TinyTeX latest release is checked in run-test.sh
552550
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
553551
BUCKETS_JSON: ${{ inputs.buckets }}
554-
# This loop owns the per-file ::group:: and ::error:: markers, so the
555-
# test harness must not also emit annotations for this step.
552+
# Prevent the harness from duplicating this loop's workflow commands.
556553
QUARTO_TESTS_GHA_ORCHESTRATED: "1"
557554
run: |
558555
$haserror=$false

0 commit comments

Comments
 (0)