Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the pnpm pin to restore E2E test execution and adds Renovate automation for future updates.
Changes:
- Bumps pnpm from 11.13.0 to 11.21.0.
- Enables Renovate management of the E2E pnpm pin.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
tests/e2e/package.json |
Updates the pnpm version. |
.github/renovate.json |
Adds npm extraction and a pnpm allowlist. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| "pip_requirements", | ||
| "pre-commit", | ||
| "dockerfile", | ||
| "npm", |
Member
There was a problem hiding this comment.
True, but I'll let the author decide.
Member
|
One comment to look at, at least. |
MartinHjelmare
marked this pull request as draft
August 13, 2026 11:09
managerFilePatterns is additive to the npm manager's default patterns rather than restrictive, so the npm block did not limit anything: a future package.json elsewhere in the repo would have had its pnpm packageManager pin managed too. Drop the no-op block and enforce the scope with matchFileNames on the allowlist rule instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
edenhaus
approved these changes
Aug 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed change
The E2E test workflow is currently failing on every run, before a single test executes:
pnpm/action-setuptakes its version from thepackageManagerfield intests/e2e/package.json, which was pinned topnpm@11.13.0. pnpm has since marked that release as broken, so its self-installer now refuses to install it and every E2E job dies at the "Set up pnpm" step.This bumps the pin to
pnpm@11.21.0(currentlateston npm).pnpm install --frozen-lockfilewas verified locally against 11.21.0: the lockfile is already up to date, sotests/e2e/pnpm-lock.yamlneeds no changes.The second part of this PR makes sure we do not end up on a stale pin again. Neither Renovate (
npmwas not inenabledManagers) nor Dependabot (GitHub Actions only) was watching this version, so it could only ever be bumped by hand. Renovate now maintains it:npmadded toenabledManagers, scoped withmanagerFilePatternstotests/e2e/package.jsononly.pnpm, narrowed tomatchDepTypes: ["packageManager"]so it can only ever touch this one pin (the config denies everything by default).ignorePathsnarrowed to**/node_modules/**. This one is easy to miss:config:recommendedpulls in:ignoreModulesAndTests, whose ignore list contains**/tests/**, which madetests/e2e/package.jsoninvisible to Renovate. Without this change thenpmmanager extracts zero files. Every enabled manager is already explicitly scoped throughmanagerFilePatterns, so nothing else widens as a result.@playwright/testdeliberately stays unmanaged, since Playwright bumps also need the browser download and the lockfile to move with them.Type of change
Additional information
Failing run this fixes: https://github.com/home-assistant/core/actions/runs/31662509044/job/94331534669
Verification performed locally, all against Renovate 44.27.0 (note that
npx renovate-config-validatorresolves to themaint/42.xtag by default, which falsely rejects our pre-existinghomeassistant-manifestmanager):renovate-config-validator— validated successfully.renovate --platform=local --dry-run=extract—npm: {fileCount: 1, depCount: 2}, with every other manager's counts byte-identical to before the change (dockerfile 3/9, homeassistant-manifest 1098/1219, pep621 2/56, pip_requirements 6/1384, pre-commit 1/7, regex 4/4). The relaxedignorePathspulls in exactly the one intended file.renovate --platform=local --dry-run=lookup— Renovate queries the registry forpnpmand logsDependency: @playwright/test, is disabled, confirming the allowlist gate behaves as intended. No pnpm PR would open right now, since 11.21.0 is alreadylatest.pnpm@11.21.0 install --frozen-lockfileintests/e2e— succeeds against the unchanged lockfile.The global
minimumReleaseAge: "7 days"applies to pnpm as well, which gives some cushion against picking up another release that gets flagged broken shortly after publish.Checklist
ruff format homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all.To help with the load of incoming pull requests: