Skip to content

Roll back default Playwright CLI pin to satisfy npm release-age cooldown#42877

Merged
pelikhan merged 2 commits into
mainfrom
copilot/unpin-playwright-cli-version
Jul 2, 2026
Merged

Roll back default Playwright CLI pin to satisfy npm release-age cooldown#42877
pelikhan merged 2 commits into
mainfrom
copilot/unpin-playwright-cli-version

Conversation

Copilot AI commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

@playwright/cli@0.1.15 was pinned as the default while Playwright CLI installs still enforce NPM_CONFIG_MIN_RELEASE_AGE=3, making the install step unsatisfiable for newly published versions and hard-failing all CLI-mode workflows before agent startup. This change restores a default that can resolve under the existing cooldown policy and adds a guard against repeating the mismatch.

  • Default version rollback

    • Revert DefaultPlaywrightCLIVersion from 0.1.15 to 0.1.14 in pkg/constants/version_constants.go.
    • This keeps generated Playwright CLI installs compatible with the existing 3-day npm release-age gate.
  • Regression guard for version age

    • Add a constants test that pins the expected default Playwright CLI version and its npm publish timestamp, then asserts the version is outside the cooldown window.
    • This makes future default bumps fail fast if the new pin is too fresh for the generated install policy.
  • Playwright CLI generation coverage

    • Add a focused workflow test that verifies CLI-mode install steps still:
      • use the default Playwright CLI version,
      • include NPM_CONFIG_MIN_RELEASE_AGE: '3',
      • keep the Playwright skills install step.
  • Compiled workflow updates

    • Recompile the affected .lock.yml workflows so generated install steps now reference @playwright/cli@0.1.14.
// pkg/constants/version_constants.go
const DefaultPlaywrightCLIVersion Version = "0.1.14"

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Unpin @playwright/cli version to fix install failure Roll back default Playwright CLI pin to satisfy npm release-age cooldown Jul 2, 2026
Copilot AI requested a review from pelikhan July 2, 2026 02:52
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

🤖 PR Triage — Run §28572743533

Field Value
Category chore
Risk 🟢 Low
Score 45 / 100
Breakdown Impact: 15 · Urgency: 20 · Quality: 10
Action batch_review
Batch batch-chore-001 (with #42832)

Rolling back Playwright CLI pin across 18 lock files. Low-risk chore; batch with other lock/chore changes.

Generated by 🔧 PR Triage Agent · 64.3 AIC · ⌖ 9.84 AIC · ⊞ 1.6K ·

@pelikhan pelikhan marked this pull request as ready for review July 2, 2026 09:52
Copilot AI review requested due to automatic review settings July 2, 2026 09:52
@pelikhan pelikhan merged commit 36fac4f into main Jul 2, 2026
1 check passed
@pelikhan pelikhan deleted the copilot/unpin-playwright-cli-version branch July 2, 2026 09:54

Copilot AI 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.

Pull request overview

This pull request rolls back the default @playwright/cli pin used by tools.playwright.mode: cli workflows so npm installs remain satisfiable under the existing NPM_CONFIG_MIN_RELEASE_AGE=3 cooldown policy, and adds tests to prevent future regressions.

Changes:

  • Roll back DefaultPlaywrightCLIVersion from 0.1.15 to 0.1.14.
  • Add a constants-level guard test to ensure the pinned default is older than the 3-day cooldown window.
  • Add workflow-level test coverage and recompile affected .lock.yml workflows / golden output to reference 0.1.14.
Show a summary per file
File Description
pkg/constants/version_constants.go Roll back default Playwright CLI version and document cooldown constraint.
pkg/constants/version_constants_test.go Add a time-based regression guard ensuring the default pin is outside the cooldown window.
pkg/workflow/playwright_cli_test.go Add a focused unit test validating CLI-mode install steps use the default version and include cooldown env + skills install.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/playwright-cli-mode.golden Update compiled golden output to @playwright/cli@0.1.14.
.github/workflows/weekly-editors-health-check.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/visual-regression-checker.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/smoke-copilot.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/smoke-copilot-arm.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/smoke-copilot-aoai-entra.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/smoke-copilot-aoai-apikey.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/smoke-codex.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/smoke-claude.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/slide-deck-maintainer.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/docs-noob-tester.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/daily-multi-device-docs-tester.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/daily-model-inventory.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/cloclo.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.
.github/workflows/blog-auditor.lock.yml Recompiled workflow to install @playwright/cli@0.1.14.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 18/18 changed files
  • Comments generated: 2
  • Review effort level: Low


require.Len(t, steps, 2, "expected npm install step plus skills install step")

installStep := strings.Join(steps[0], "\n")
assert.Contains(t, installStep, "NPM_CONFIG_MIN_RELEASE_AGE: '3'")
assert.Contains(t, installStep, "timeout-minutes: 10")

skillsStep := strings.Join(steps[1], "\n")
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.82.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment