Repository navigation
[APPS-2961] Add: CI matrix running local execution against real Vite 7 and 8 installs - #606
Conversation
Live Debugger Runtime BenchmarkSDK-loaded dormant-probe runtime overhead, measured against an uninstrumented bundle in the same browser session.
What do the Tiny and Hot workloads represent? Browser Debugger SDK: Full diagnosticsRaw samples are in the |
93a01cb to
11af6d6
Compare
cfac113 to
401268c
Compare
11af6d6 to
1797661
Compare
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
🟢 Approval recommended
No blocking issues were identified in the CI configuration or test suite, and production code is unchanged.
No open issues 🎉
What changed in this PR
Adds real-install CI coverage for Apps local backend execution across Vite 5–8, complementing Jest coverage without changing production code.
Changes:
- Adds five Vite matrix legs and a stable aggregate status check.
- Adds integration tests for execution state, concurrency, sandbox restrictions, runtime context, and logs.
| File | Description |
|---|---|
| packages/tests/src/apps-vite-versions/local-execution.mjs | Tests the packed plugin against fresh Vite installs. |
| .github/workflows/ci.yaml | Runs the version matrix using cached builds and read-only permissions. |
Review effort: Balanced
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
401268c to
002f14e
Compare
1797661 to
63840ca
Compare
002f14e to
f698ad5
Compare
63840ca to
ee4b237
Compare
f698ad5 to
7e9b4b4
Compare
ee4b237 to
fbc33a2
Compare
7e9b4b4 to
cf49bfa
Compare
fbd073c to
f0977cc
Compare
dca1b43 to
a4728ff
Compare
f0977cc to
a1c4904
Compare
a4728ff to
b728d76
Compare
a1c4904 to
9ac932c
Compare
b728d76 to
7dc8a99
Compare
9ac932c to
00ec61c
Compare
7dc8a99 to
71953bd
Compare
00ec61c to
1ed9fb5
Compare
71953bd to
c47e2d5
Compare
A matrix job packs the plugin, installs it with one Vite version (7.3.7 or 8.3.3) in a fresh project, and runs a node:test suite through the real dev server: fresh module state per call in its own process, parallel calls with prefixed logs, the sandbox, and $.Source. Jest can't load Vite 7+, which ships ESM only. The job runs after the unit tests so it can restore their build cache, never writes that cache, and has read-only permissions, since its npm install isn't locked. A result job gives the matrix one stable check name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
c47e2d5 to
4d36430
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
Motivation
Architecture
flowchart TD A["CI matrix leg (Vite N)"] -->|npm pack| B["datadog-vite-plugin.tgz"] A --> C["node --test local-execution.mjs"] C --> D["Temp project: vite@N + the tgz + @datadog/apps-backend, npm install"] B --> D D --> E["Real dev server with datadogVitePlugin, fake Datadog API via fetch"] E -->|"POST /__dd/executeAction"| G["Assertions on each response"]vitefrom the temp project like a customer install.Changes
6 changes across ci.yaml and local-execution.mjs
ci.yamlci.yamlApps local executionresult job gives the matrix one stable check name.ci.yamllocal-execution.mjslocal-execution.mjs$.Sourcethrough@datadog/apps-backend.local-execution.mjsQA Instructions
71953bda.import.meta.resolvewarning per leg.Error: Set DD_APPS_TEST_VITE_VERSION and DD_APPS_TEST_PLUGIN_TGZ.Output for Vite 8.3.3 under Node 20.19.4
Blast Radius
Out of Scope / Follow-ups
5 items deferred
publishConfig.Apps local executionisn't a required check onmaster, so a red leg doesn't block merging.masterruleset's required checks once this merges.Documentation
🤖 Generated with Claude Code