Run automated conformance suite in CI - #2048
Conversation
|
|
✅ Deploy Preview for fdc3 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
/easycla |
…rmance-ci # Conflicts: # CHANGELOG.md
…rmance-ci # Conflicts: # package-lock.json
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2048 +/- ##
=======================================
Coverage 95.03% 95.03%
=======================================
Files 73 73
Lines 4251 4254 +3
Branches 596 602 +6
=======================================
+ Hits 4040 4043 +3
Misses 211 211 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
This looks promising as an initial way to get these tests running as part of the CI process but we must be sure that the build will fail if the tests fail. As the tests timeout at the moment but this build is still fine I am not sure this is the case. |
Signed-off-by: russlan23 <rrusslanjr@gmail.com>
|
Addressed in 335fc22. I added an explicit result gate that throws unless the conformance run reports passed, has zero failures, executes at least one test, and completes every reported test. I also added negative coverage for failed or timed-out and incomplete runs. Local verification: npm run test:ci --workspace fdc3-conformance — 4 passed in 5.9m. A conformance failure, incomplete run, or the existing outer Playwright timeout now returns a non-zero exit from the command used directly by the CI job. |
|
Addressed in 335fc22. I added an explicit result gate that throws unless the conformance run reports , has zero failures, executes at least one test, and completes every reported test. I also added negative coverage for failed/timed-out and incomplete runs.\n\nLocal verification:
Running 4 tests using 1 worker ✓ 1 e2e/conformance.spec.ts:9:1 › runs all automated conformance tests against the reference Desktop Agent (5.8m) Slow test file: e2e/conformance.spec.ts (5.8m) |
Signed-off-by: russlan23 <rrusslanjr@gmail.com>
|
Rebased this branch onto current The full gate now executes and reports three failures on current
The three result-gate unit tests still pass. I have not mixed changes to #1942 behavior into this CI PR; I will keep those fixes separate if maintainers want a follow-up. |
|
I'll check this out when I have a minute - very keen to get this in. However, one change i would make is to separate it from the normal CI workflow so it can be run as its own task and be triggered as a CI check separately. The tests take an age to run (near 6 mins) and I wouldn't want to execute them on every PR. But I definitely DO want to be able to run them in AI workkflows, which I currently need to do manually and report results. Perhaps we should only run on changes to packages/fdc3-conformance/src, toolbox/fdc3-for-web/fdc3-web-impl/src and packages/fdc3-agent-proxy/src ? @Roaders WDYT? |
|
Moved the pack into The automatic paths use your three source directories, with The YAML/trigger/permission checks and 12 path cases pass. I reran the complete browser pack: the three result-gate tests pass, and the pack still reports exactly |
Describe your change
Adds a Playwright contribution check for the FDC3 conformance framework. The check starts the conformance app and the FDC3 for Web reference Desktop Agent, launches the runner inside the Desktop Agent, selects the complete non-manual pack, and fails with the underlying conformance failure messages when any test fails.
The browser runner exposes machine-readable status and totals. The result gate requires a passing status, zero failures, at least one test, and completion of every reported test. It uses Mocha's published browser bundle. The destructured-method setup and cleanup fixes have already landed through #2143 and are no longer part of this PR's diff.
Manual intent-resolver and channel-selector tests remain outside this automated check.
The conformance pack now has its own
Automated Conformanceworkflow, separate from ordinary tests and coverage. It supports manual dispatch and reusable workflow calls. Automatic runs are limited to the conformance, web-implementation and agent-proxy source paths plus the harness/workflow files. The actual conformance path istoolbox/fdc3-conformance/src. Reports and failure traces are retained for seven days; branch protection should not require this path-filtered check on unrelated PRs.Current validation:
git diff --check. A merge simulation againstmainat 6cf0001 succeeds. No runtime code or dependencies changed in this follow-up.RaiseIntentExistingInstanceRequired,RaiseIntentFailExistingInstanceRequired, andIntentContextMetadataWithAppMetadata. Details are in the scope and test note. No assertion was weakened or skipped; maintainer direction on a separate behavioral follow-up is still pending.Related Issue
Resolves #2045.
Contributor License Agreement
Review Checklist
CHANGELOG.mdentry is included.