* test(core): replace file snapshots with explicit assertions
* test(core): replace inline snapshots with explicit assertions
* test(core): assert on relevant sections instead of full bodies
* test(core): drop assertions implied by full equality
* test(core): address review feedback
* test(core): use resolves instead of awaiting inside expect
* chore(config): be explicit about `Renovate CLI` in `prFooter`
This was something I should have done in
72968d3726.
* fixup! chore(config): be explicit about `Renovate CLI` in `prFooter`
* fix(workers/repository): use GlobalConfig for productLinks
PR #44098 added productLinks to GlobalConfig.OPTIONS, which moves it into
GlobalConfig and deletes it from the per-repo config. Several readers
were not migrated and now receive undefined from config.productLinks.
Most visibly, setStability and setConfidence build the status check
target_url from config.productLinks?.documentation. With it now empty the
URL becomes scheme-relative (e.g. "key-concepts/minimum-release-age/"),
which GitLab rejects with HTTP 400. That throws in setBranchStatus and
aborts the branch before its merge request is created.
Migrate the remaining readers to GlobalConfig.get('productLinks'),
matching #44098, and drop the now-redundant coerceString calls and
non-null assertions.
* refactor(config): drop productLinks from RenovateSharedConfig
productLinks is globalOnly and is now read via GlobalConfig.get. Leaving
it on the per-repo RenovateSharedConfig let callers read the (always
empty) config.productLinks, which is the footgun this PR fixes. Remove it
from the shared interface so it only exists on RepoGlobalConfig, and the
type now prevents reintroducing config.productLinks.
As part of general work to reinforce the brand link between Mend and
Renovate, we can improve the default PR body footer to clarify this.
This feeds into #29885 and general naming, where we want to keep these
close, while also not being too "in your face".
This is still user-controlled, but provides a more reasonable default.
This also feeds into #26838 and #39305, where we should also remove the
"Bot" from the footer.
Changes `rangeStrategy` default value from `'replace'` to `'auto'`. Also changes `auto` behavior so that `update-lockfile` is preferred if the manager
supports the `updateLockedDependency()` function.
Closes#19800
BREAKING CHANGE: Renovate will now default to updating locked dependency versions. To revert to previous behavior, configure rangeStrategy=replace.
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* Apply suggestions from code review
Co-authored-by: Nabeel Saabna <48175656+nabeelsaabna@users.noreply.github.com>
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
* refactor(repository/config-migration): dont show file name in pr title
Co-authored-by: Nabeel Saabna <48175656+nabeelsaabna@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>