Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
ci(e2e): upload staging Playwright JSON report from integration/ by jacekradko · Pull Request #8766 · clerk/javascript · GitHub
Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci(e2e): upload staging Playwright JSON report from integration/ by jacekradko · Pull Request #8766 · clerk/javascript · GitHub
Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci(e2e): upload staging Playwright JSON report from integration/ by jacekradko · Pull Request #8766 · clerk/javascript · GitHub
Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' ci(e2e): upload staging Playwright JSON report from integration/ by jacekradko · Pull Request #8766 · clerk/javascript · GitHub
Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci(e2e): upload staging Playwright JSON report from integration/ by jacekradko · Pull Request #8766 · clerk/javascript · GitHub
Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' ci(e2e): upload staging Playwright JSON report from integration/ by jacekradko · Pull Request #8766 · clerk/javascript · GitHub
Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); ci(e2e): upload staging Playwright JSON report from integration/ by jacekradko · Pull Request #8766 · clerk/javascript · GitHub
Skip to content

ci(e2e): upload staging Playwright JSON report from integration/ - #8766

Merged
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path
Jun 5, 2026
Merged

ci(e2e): upload staging Playwright JSON report from integration/#8766
jacekradko merged 2 commits into
mainfrom
jacek/staging-e2e-json-report-path

Conversation

@jacekradko

@jacekradkojacekradko commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

The staging E2E workflow has never produced its JSON report artifact, on any leg. Two things were in the way.

First, a path bug: Playwright resolves a reporter's outputFile relative to the config directory (integration/), so the report lands at integration/playwright-report/results.json, while the upload step looked for it at the repo root. With if-no-files-found: ignore the mismatch produced nothing and said nothing. That's the path fix, plus a switch to warn.

The bigger one is caching, which is also why a first verification run came back empty even with the path fixed. The staging legs are turbo-cacheable keyed on integration/** plus env, and that key doesn't include the live staging deploy they exist to validate. So a run with unchanged integration code hits >>> FULL TURBO, replays an old pass, and never runs Playwright (no report written). TURBO_FORCE on the test step makes the staging legs always execute, which is the behavior you want for per-deploy validation regardless of the report. Declaring integration/playwright-report/** as a task output then lets non-staging e2e restore the report on its own cache hits.

Worth landing ahead of the #8760 reporting work, since that classifier is the thing that consumes these reports.

Summary by CodeRabbit

  • Chores
    • Updated staging environment end-to-end test configuration to correctly capture and report test results.
    • Improved error handling for test artifact uploads to provide better visibility into test execution outcomes.

The json reporter's outputFile resolves relative to the Playwright config directory (integration/), not the repo root, so the report is written to integration/playwright-report/results.json. The upload step read playwright-report/results.json from the repo root and, with if-no-files-found: ignore, silently produced no artifact on every leg. Point the upload at the real path and switch to warn so a future regression is visible.
@changeset-bot

changeset-botBot commented Jun 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: fc87400

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@vercel

vercelBot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
clerk-js-sandboxReadyReadyPreview, CommentJun 5, 2026 7:48pm

Request Review

@coderabbitai

coderabbitaiBot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Wondering what really moved? Review this PR in Change Stack to inspect semantic changes, definitions, and references.

Review Change Stack

📝 Walkthrough

Walkthrough

Staging E2E workflow and Turbo tasks were updated so Playwright’s JSON report lives under integration/playwright-report/**; the workflow forces regeneration (TURBO_FORCE: 'true') and uploads integration/playwright-report/results.json with missing-file behavior set to warn. A changeset file was added.

Changes

CI integration report and turbo outputs

Layer / File(s)Summary
Declare Playwright report outputs in turbo.json
turbo.json
Adds outputs: ["integration/playwright-report/**"] to multiple //#test:integration:* tasks so the Playwright report directory is tracked as task outputs.
Update staging E2E workflow to force regenerate Playwright report
.github/workflows/e2e-staging.yml
Sets TURBO_FORCE: 'true' for integration runs and updates artifact upload to integration/playwright-report/results.json with if-no-files-found: warn and inline comments about Playwright path resolution.
Add changeset documenting report path change
.changeset/staging-e2e-json-report-path.md
New changeset file recording the staging E2E JSON report path change.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • clerk/javascript#8756: Updates the staging E2E workflow's Playwright JSON report upload behavior in .github/workflows/e2e-staging.yml with overlapping artifact path/handling changes.

Suggested labels

integration

Suggested reviewers

  • wobsoriano

Poem

I’m a rabbit in the CI glade,
Hopping where the Playwrights played,
integration/ now takes the lead,
Reports find home — no missing feed.
Cheers to builds that run and stay! 🐰

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly identifies the main change: fixing the staging E2E workflow's Playwright JSON report upload path from the repository root to the integration/ directory.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new

pkg-pr-newBot commented Jun 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@8766

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@8766

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@8766

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@8766

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@8766

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@8766

@clerk/express

npm i https://pkg.pr.new/@clerk/express@8766

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@8766

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@8766

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@8766

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@8766

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@8766

@clerk/react

npm i https://pkg.pr.new/@clerk/react@8766

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@8766

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@8766

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@8766

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@8766

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@8766

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@8766

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@8766

commit: fc87400

Even with the upload path fixed, the report artifact was still empty: the staging legs are turbo-cacheable keyed on integration/** + env, not on the live staging deploy, so a verification dispatch with unchanged integration code hit '>>> FULL TURBO' and never ran Playwright (no report written). More broadly, a cached green pass can stand in for a new, untested staging deploy. Set TURBO_FORCE on the staging test step so the legs always execute, and declare the report as a turbo output on the integration test tasks so non-staging e2e cache hits restore it too.
@jacekradko
jacekradko merged commit 565a516 into mainJun 5, 2026
119 of 124 checks passed
@jacekradko
jacekradko deleted the jacek/staging-e2e-json-report-path branch June 5, 2026 22:54
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacekradko@tmilewski