Skip to content

Run the e2e suite on web in CI, and add AGENTS.md - #461

Merged
tvanlaerhoven merged 1 commit into
mainfrom
devin/1786659377-web-e2e-agents
Aug 13, 2026
Merged

Run the e2e suite on web in CI, and add AGENTS.md#461
tvanlaerhoven merged 1 commit into
mainfrom
devin/1786659377-web-e2e-agents

Conversation

@tvanlaerhoven

@tvanlaerhoven tvanlaerhoven commented Aug 13, 2026

Copy link
Copy Markdown
Member

Summary

The e2e app can now boot into the cavynext test runner on web, and pr_web.yml runs that suite
(E2E_HEADLESS=true npm run test:e2e:web) next to the existing build + docs check. All 8 connector
specs pass locally in headless Chrome (8 examples, 0 failures).

Four things were blocking a web run, all in apps/e2e:

  • Entry naming. cavynext only accepts entry files ending in .js and swaps index.web.js for
    index.test.web.js while it runs, so index.web.tsx was split into .js wrappers plus
    web/app.web.tsx (normal app) and web/test.web.tsx (test app, deliberately not in
    <StrictMode>).

  • Worker version mismatch. webpack copied the THEOplayer worker/iframe assets from the workspace
    root while bundling the player hoisted into apps/e2e, which fails at runtime with "THEOplayer
    workers could not be loaded"
    . Both now come from the same package:

    const theoplayerDirectory = path.dirname(require.resolve('theoplayer/package.json', { paths: [appDirectory] }));

    iframe.html was missing from the copy patterns altogether (404 on theoplayer/iframe.html).

  • Autoplay. the test player gets a web config (libraryLocation: 'theoplayer',
    mutedAutoplay: 'all'), without which the suite hangs after play and never reaches playing.

  • Headless browser. E2E_HEADLESS=true makes the dev server open Chrome headless with a
    dedicated --user-data-dir; joining an already running browser makes cavynext see "an extra app
    connection" and hang. .env is now optional, since CI has none.

AGENTS.md is the repository guidance file coding agents read automatically. It records what needed
rediscovering: per-package npm test / npm run typescript vs the root npm test being a typedoc
docs check, what each CI workflow really verifies, the known-red root prettier files under
comscore/, drm/ and engage/ that must not be reformatted, changeset and peerDependency rules,
and the web e2e pitfalls above.

Verified: root npm run build, npm test, npm run lint (0 errors) and the headless web e2e run.

Link to Devin session: https://dolby.devinenterprise.com/sessions/3a7ef07a2c3e45b9801dc0296f2d3ea4
Requested by: @tvanlaerhoven


Open in Devin Review

The e2e app now boots into the cavynext test runner on web
('npm run test:e2e:web'), in headless Chrome when E2E_HEADLESS=true, and the
web PR workflow runs it alongside the build and docs checks.

AGENTS.md documents the repository layout, the per-package vs root commands,
what each CI workflow actually verifies and the web e2e pitfalls.

Co-Authored-By: tom.vanlaerhoven <tom.vanlaerhoven@dolby.com>
@tvanlaerhoven tvanlaerhoven self-assigned this Aug 13, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@changeset-bot

changeset-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 88a0756

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread apps/e2e/package.json
@tvanlaerhoven
tvanlaerhoven merged commit 3068695 into main Aug 13, 2026
6 checks passed
@tvanlaerhoven
tvanlaerhoven deleted the devin/1786659377-web-e2e-agents branch August 13, 2026 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant