More Renovate updates#1349
Conversation
There was a problem hiding this comment.
Pull request overview
Removes the obsolete Yarn resolutions workaround after Renovate 43.276.0 fixed the underlying parsing bug.
Changes:
- Removes the workaround from the default preset and generated documentation.
- Updates the existing patch change description.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
renovate/README.md |
Removes obsolete configuration documentation. |
renovate/presets/default.json |
Re-enables normal processing of Yarn resolutions. |
change/@microsoft-m365-renovate-config-dddec310-1795-4750-93bd-5cc0e40e07a7.json |
Updates the release note. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
scripts/beachballConfigHelpers.ts:35
- This builds tags from the full npm package name, so the release will create
@microsoft/m365-renovate-config_v3.1.0and@microsoft/m365-renovate-config_v3, while the new documentation tells consumers to userenovate_v3.1.0andrenovate_v3. Pass the intendedrenovatetag prefix here and update the existinggetGitTagtest, which still expectsnulland will currently fail.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (4)
scripts/beachballConfigHelpers.ts:34
- This passes the full package name into the generic tag helper, producing
@microsoft/m365-renovate-config_v1.2.3rather than the advertisedrenovate_v1.2.3. The new test on lines 37–41 therefore fails, and publishing would create unusable tag names. Use the documentedrenovateprefix here.
renovate/presets/customTagActions.json:12 - These patterns are not terminated after the version capture, so an unsupported ref such as
should-release_v3-betastill matches by capturing onlyshould-release_v3. Renovate can then process and rewrite a ref that the versioning rule is intended to reject. Require whitespace or end-of-input after the captured version in both patterns.
"uses:\\s+(?<depName>(?<packageName>[^/\\s]+/[^/\\s]+)/[^@\\s]+)@(?<currentDigest>[0-9a-f]{40})[ \t]+#\\s*(?<currentValue>[\\w.-]+_v\\d+(?:\\.\\d+){0,2})",
"uses:\\s+(?<depName>(?<packageName>[^/\\s]+/[^/\\s]+)/[^@\\s]+)@(?<currentValue>[\\w.-]+_v\\d+(?:\\.\\d+){0,2})"
renovate/README.md:1045
- This limitation contradicts the second
matchStringsentry and the new tag-ref tests: direct<name>_v...refs are handled by the custom manager, while the built-in manager is disabled for them. Update this text so consumers do not incorrectly assume direct tags are unsupported.
- Only matches actions pinned to a full 40-character commit digest with a comment of the form `# <name>_v<major>[.<minor>[.<patch>]]`. Refs pinned directly to a tag/branch, or without the version comment, are left to the built-in manager.
renovate/scripts/utils/types.ts:98
- Correct the typo in this comment.
// just includes the ones currenly used in tests/etc
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 6 comments.
Comments suppressed due to low confidence (1)
scripts/beachballConfigHelpers.ts:56
nameis unused in this callback. Repository convention requires unused parameters to be prefixed with_, so name it_namewhile retaining thePostbumpHooksignature.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 30 out of 30 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (3)
renovate/presets/customTagActions.json:12
- These patterns require a trailing newline, so a valid workflow whose final
uses:entry is at EOF without a final newline is silently skipped by this preset. Accept EOF as an alternative line terminator for both plain-tag and digest-pinned references.
"uses:\\s+(?<depName>(?<packageName>[^/\\s]+/[^/\\s]+)/[^@\\s]+)@(?<currentValue>[\\w.-]+_v\\d+(?:\\.\\d+){0,2})\\r?\\n",
"uses:\\s+(?<depName>(?<packageName>[^/\\s]+/[^/\\s]+)/[^@\\s]+)@(?<currentDigest>[0-9a-f]{40})[ \t]+#\\s*(?<currentValue>[\\w.-]+_v\\d+(?:\\.\\d+){0,2})\\r?\\n"
renovate/scripts/updateReadme.ts:124
- The generated usage example omits required preset arguments. This currently produces
restrictNodewithout(arg0)in the README, even though the preset contains{{arg0}}and the validation helper supplies(16). Render a concrete argument in parameterized preset references so the documented config is usable.
"extends": ["${repoPresetPrefix}${name}"]
renovate/presets/base.json:29
- The Yarn
resolutionsworkaround is removed here, but this repo still installs Renovate 43.260.3 from.renovate-version(released July 13), while renovatebot/renovate#44776 was merged July 22. The pinned validator/dry-run therefore still has the bug this rule guarded against, including for this repo's version-qualified resolution keys. Update the Renovate pin to a release containing #44776 before dropping the rule.
"packageRules": [
{
"matchDepTypes": ["devDependencies"],
"commitMessageTopic": "devDependency {{{depName}}}"
},
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 31 out of 31 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (3)
renovate/presets/base.json:25
- This drops the Yarn
resolutionsworkaround while CI still installs Renovate 43.260.3 fromrenovate/.renovate-version(released July 13), but the linked fix was merged July 22. The full dry run therefore still processes this repo's version-qualified resolution keys with the old bug. Update the pinned minimum to a release containing renovate#44776 before removing the rule, or retain the workaround.
"packageRules": [
renovate/presets/customTagActions.json:11
- A valid tagged action with an ordinary inline YAML comment, such as
uses: owner/repo/action@action_v3 # reason, does not match because the regex ends immediately after the tag. The package rule below still disables Renovate's built-in manager based oncurrentValue, leaving that dependency unmanaged. Allow optional trailing whitespace/comment text and cover that case in the tests.
"(?m)^\\s*uses:\\s+(?<depName>(?<packageName>[^/\\s]+/[^/\\s]+)/[^@\\s]+)@(?<currentValue>[\\w.-]+_v\\d+(?:\\.\\d+){0,2})$",
renovate/scripts/utils/paths.ts:21
- This comment is self-contradictory:
serverConfigRelis the relative stringscripts/serverConfig.ts, not an absolute path.
/** Relative path from repo root to test server config (absolute) */
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 31 out of 31 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
scripts/beachballConfigHelpers.ts:35
- The moving
renovate_v3tag will not advance after its first release.tagPackages.ts:6force-moves it only locally, whilebumpAndPush.ts:85-87publishes withgit push --follow-tagsand no force;--follow-tagsdoes not update an existing remote tag. Force-push only the moving major tags (while keeping exact tags immutable), or omit the major tag until the publish path supports updating it.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 31 out of 31 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
renovate/presets/base.json:25
- The workaround is removed even though this repo still installs Renovate 43.260.3 (
renovate/.renovate-version), released before the linked fix. PR #44776 first shipped in 43.276.0, so the version used by this repo—and consumers on the tested baseline—will again misparse the versionedresolutionskeys present in the root package. Retain the rule or bump the pinned/minimum Renovate version to at least 43.276.0.
"packageRules": [
| "(?m)^\\s*uses:\\s+(?<depName>(?<packageName>[^/\\s]+/[^/\\s]+)/[^@\\s]+)@(?<currentValue>[\\w.-]+_v\\d+(?:\\.\\d+){0,2})[ \t]*($|#)", | ||
| "(?m)^\\s*uses:\\s+(?<depName>(?<packageName>[^/\\s]+/[^/\\s]+)/[^@\\s]+)@(?<currentDigest>[0-9a-f]{40})[ \t]+#\\s*(?<currentValue>[\\w.-]+_v\\d+(?:\\.\\d+){0,2})$" |
Revert workaround for yarn
resolutionsissue fixed in renovatebot/renovate#44776.Add a
customTagActionspreset (included indefault) which helps Renovate reference action tags likemicrosoft/beachball/actions/check-for-modified-files@check-for-modified-files_v3. Otherwise you get weird PRs likeUpdate microsoft/beachball digest to 826cebb...Re-enable git tag creation for renovate presets, but add notes about presets where it won't work due to
extendsreferences to other in-repo presets. Accordingly, move most settings from thedefaultpreset into a newbasepreset (no in-repo references) and updatedefaultto extend that.Fix the full dry run
serverConfig.tsto omit presets which extend other local presets. To retain coverage, this required splitting the two presets which hadextendsreferences to local presets as well as other settings:defaultother settings moved to a new presetbase, andbeachballother settings moved back intobeachballPostUpgrade.