mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-30 09:42:21 +01:00
39 lines
2.4 KiB
Markdown
39 lines
2.4 KiB
Markdown
# Native test merge gate
|
|
|
|
`Native test suites` runs on pull requests, dev/main pushes and manual dispatch.
|
|
`Authoritative native suites` fails unless both the native Node and complete
|
|
Chromium jobs succeed; it has no continue-on-error, retries or path bypass.
|
|
Repository administrators must require this check alongside the four pytest
|
|
checks in branch protection. The audited public dev branch had no protection or
|
|
ruleset, so merely adding workflow jobs cannot prevent a manual merge.
|
|
|
|
`tests/native-ci-manifest.json` exhaustively partitions all native Node files:
|
|
16 run in the native job,14 through existing pytest wrappers, one through the
|
|
existing frontend architecture CI step, and the formerly live email-reply file
|
|
through an explicitly identified Playwright driver. The manifest validator fails
|
|
for omitted/duplicate/unreachable entries. Node emits individual JUnit identities
|
|
and propagates its failure exit. No native file is newly run in each pytest shard.
|
|
|
|
The browser job uses the existing one-worker Chromium config and all original129
|
|
cases, plus one driver for the native email-reply contract. Its ephemeral account,
|
|
SQLite DB and server are created by the config/setup; reuseExistingServer remains
|
|
false. NPX startup is offline/cache-only in a private cache; Notes/editor behavior
|
|
and Python MCP services remain real. No developer app or external account is used.
|
|
|
|
Default CI trace suppression remains intact. Only this job's explicit opt-in plus
|
|
a newly generated authenticated synthetic fixture marker permits failure traces.
|
|
The existing structured sanitizer runs before artifacts are uploaded; invalid
|
|
ownership, failed sanitization and missing tooling purge sensitive artifacts.
|
|
Never upload the fixture directory, database or browser storage state.
|
|
|
|
The stroke budget now excludes measured synthetic event-delivery pacing and also
|
|
bounds actual Chromium main-thread work at the original5s. All240 samples and
|
|
pixel/thumbnail/undo/redo assertions remain. Per-case timing attachments expose
|
|
both clocks rather than treating driver frame cadence as application work.
|
|
|
|
Three Bombadil properties remain opt-in: they require a Bombadil/browser scenario
|
|
and bounded fuzz campaign; no authoritative execution is claimed. The two model
|
|
smoke scripts require supplied model endpoints/models and remain explicit live
|
|
operations. No credentials or live-service authorization are implied by CI setup.
|
|
Firefox/WebKit alternatives remain opt-in and are not certified by Chromium CI.
|