Tags: quarto-dev/quarto-cli
Tags
trial: seeded failures + narrowed default run — DO NOT MERGE Throwaway branch for the GHA log-grouping trial matrix (dev-docs/ci-test-log-grouping-design.md, verification item 3): - 12 seeded failing tests in tests/smoke/trial-fail/ (hostile characters in messages to exercise escaping; 12 failures exercises the 9+1 annotation cap and aggregate in the default path) - default-run steps narrowed to an explicit 17-file subset (same single-process multi-file flow, minus full-suite runtime on the fork) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WFvZcK71eJ3gmmDT6RcFDd
Apply design-review fixes: group closure on early failures, step-wide… … annotation budget Review #1991: initDenoDom/prereq/chdir/setup ran after the per-file group opened but outside the guarded failure path, and teardown could throw after it — any of those failures left the FAILED result line inside a collapsed group. The whole test body is now wrapped in an outer catch that closes the group (idempotently) before rethrowing. Review #1986 (confirmed empirically on the pinned Deno 2.7.14): Deno instantiates each test file's module graph separately — module state resets per file and unload fires once per file — so the module-level annotation counter was a per-FILE budget, not per-step, and failures spanning >10 files would silently lose annotations. The budget now coordinates through a sidecar counter file derived from GITHUB_STEP_SUMMARY (unique per step; no locking needed as files run sequentially without --parallel), and the aggregate ::error is emitted inline by the failure that crosses the cap (a per-file unload cannot know it is last). The same finding corrects the spike interpretation: the inter-file ::endgroup:: was the previous file's own unload, not a cross-file transition — grouping output is unchanged, and foreign (non-harness) test files now provably run with no group open. Design doc updated throughout; unit tests cover the new decision API and cross-instance coordination through a shared counter file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WFvZcK71eJ3gmmDT6RcFDd
ci: apply multi-persona review findings to the multi-leg built-versio… …n CI Blocker fix: test-ff-matrix.yml's top-level concurrency group is evaluated in the CALLER's context under workflow_call, so the nightly ff-matrix legs of one test-smokes-built.yml run shared a single cancel-in-progress group and could cancel a sibling leg. The group now carries a per-call suffix (github.run_id + inputs.runners); dev triggers keep their dedup groups via a constant -dev suffix. Hardening and precision: - release legs pass runners explicitly so per-leg OS scope really is tuned in one place - resolve-nightly ignores expired artifacts so a re-test dispatch of an old run-id skips instead of failing at download time - the stale "playwright only on Linux" comment on the Windows ignore gate now states the actual semantics and its coupling to the missing windows leg; wrapper file header fixed (said smoke-all.test.ts) - scheduler header states the per-mode OS scope accurately - test-ff-matrix.yml push/PR paths-ignore excludes the built-only scheduler Docs: correct the "integration/ is not dev-only" overclaim (only the playwright suite runs in built mode; the two other integration tests stay dev shards only), record the residual coverage gaps (preview/serve, publish, installer packages, arm64, visual snapshots) in D9, note in D10 that refs predating the quartoSpawnEnvOptions fix run the old env-leaking playwright wrapper (first post-merge nightlies included), fix the concurrency/nesting claims, bump testing-patterns.md frontmatter, and add a discovery-pointer rule for the built-version CI workflow files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PreviousNext