ci: [CI-01] add OS matrices, scoped caches and required result gate

This commit is contained in:
Harvey Zhao committed 2026-09-13 13:02:04 +08:00
1 parent 2c73e2b105
commit 585e11c53c
15 files changed
+677 -32

No files matched your search

+8
View File
@@ -21,6 +21,7 @@ rather than assuming a fixed number of microtasks. The published defect observat
| ------------------- | -------------------------------------------------------------------------------------------------------- |
| `yarn test:unit` | Playback and DASH regressions, public contracts against released/current code, and JS/TS fixture loading |
| `yarn test:node` | Unit contracts plus toolchain and documentation build failure propagation |
| `yarn test:ci` | Actual CI summary exit codes, workflow regression guards and repository impact analysis |
| `yarn test` | Node checks and the committed baseline/tooling tests in refactor/scripts |
| `yarn ci:check` | Toolchain, plan, read-only lint, types, then yarn test |
| `yarn test:imports` | Existing distribution import smoke examples; run after building |
@@ -42,6 +43,13 @@ Set `ARTPLAYER_TEST_CORE` to a built `.js`, `.legacy.js` or `.mjs` core file to
When a production module moves, update its loader mapping and its maintenance documentation, preserving the behavioral assertions. New contracts belong in contracts/; test-specific controlled state belongs in helpers/. Do not modify frozen refactor/fixtures or baseline captures just to pass changed behavior. Record historical defects and candidate fixes separately.
`ci-summary.test.js` exercises the real CLI with success, cancelled and malformed provider data,
plus missing groups and metadata/environment files. It is included in `test:node`.
`refactor/scripts/ci-workflow.test.mjs` parses the actual YAML and rejects broken matrix,
cache, install, report and summary requirements; it is included in `test:baseline`.
These local tests do not replace hosted runner or branch-protection evidence.
See [CI operations](../refactor/ci-setup.md) before changing a required job or its cache.
# Real browser tests
`test/utils.test.js` compares the published and current utilities, including exact formatting,