Commit Graph

3413 Commits

Author SHA1 Message Date
Jamie Tanna 10da664674 chore(config): be explicit about Renovate CLI in prFooter (#44949)
* 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`
2026-07-30 12:00:37 +00:00
renovate[bot] 17951d4a17 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.5 (main) (#44960)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.78.4 | 13.78.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-30 03:28:53 +00:00
renovate[bot] 6c536e410c fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.4 (main) (#44938)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.78.1 | 13.78.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-29 21:28:39 +00:00
Niels Pardon f60995a404 feat(manager/pixi): gate pixi.lock updates behind allowedUnsafeExecutions (#44939)
feat(manager/pixi): gate pixi.lock updates behind allowedUnsafeExecutions

The pixi manager runs `pixi lock`, which can execute arbitrary code from
conda package hooks. It now only updates `pixi.lock` when `pixi` is
included in the global `allowedUnsafeExecutions` option, following the same
pattern as the `mise` manager. When `pixi` is not allowed, the package file
is still updated but `pixi.lock` is left unchanged.

https://pixi.prefix.dev/latest/security/#4-treat-package-hooks-as-code-execution
2026-07-29 09:18:02 +00:00
renovate[bot] 648b7a85b6 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.1 (main) (#44932)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.78.0 | 13.78.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-29 02:29:43 +00:00
renovate[bot] db1b150aa1 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.0 (main) (#44931)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.78.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.9 | 13.78.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 21:31:42 +00:00
renovate[bot] 18c59f8d95 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.9 (main) (#44919)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.9

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.8 | 13.77.9 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-28 12:36:37 +00:00
renovate[bot] 196101a6bb chore(deps): update dependency oxlint-tsgolint to v0.25.0 (main) (#44424)
* chore(deps): update dependency oxlint-tsgolint to v0.25.0

| datasource | package         | from   | to     |
| ---------- | --------------- | ------ | ------ |
| npm        | oxlint-tsgolint | 0.23.0 | 0.25.0 |

* chore: fix new no-unnecessary-type-assertion findings

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Poxhofer <sebastian.poxhofer@stedi.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 07:04:21 +00:00
renovate[bot] dfc9a0ae9f fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.8 (main) (#44892)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.8

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.7 | 13.77.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 20:32:32 +00:00
Felipe Santos ddbbb687f9 feat: add commitTrailers option (#44651)
* feat(config): add commitTrailers option

Renovate's only way to add git trailers today is `commitBody`, but it's
broken on Gerrit: Renovate appends its own `Renovate-Branch`/`Change-Id`
block after the body, so user trailers end up in a non-final message
block and are not real trailers per git-interpret-trailers rules.

This adds a `commitTrailers: string[]` option (each entry a full
`Key: value` line), standardizes Gerrit's own trailers through the same
mechanism so user trailers and platform trailers merge into one final
block, and verifies the result at runtime with `git interpret-trailers`
(commitlint's trailer-exists rule uses the same approach). The
`:gitSignOff` preset is migrated from `commitBody` to `commitTrailers`
so sign-off works correctly on Gerrit too.

* Simplify a bit

* Simplify docs even more

* Simplify another bit

* Add comment about rawExec

* Drop runtime commit trailer verification

Bypass simple-git only to emit a proactive warn log is not worth the
extra surface area. Config validation already enforces Key: value form.

* test(git): cover string commit message with trailers

Codecov patch failed on the partial ternary branch that normalizes a
string message before appending trailers.

* test(gerrit): fix trailers test after scm rework

Align the commitTrailers merge test with the post-rework Gerrit SCM:
use fakeSha helpers and drop the removed force flag.

* Improve wording on gitSignOff docs

* Validate compiled commitTrailers as well

* Improve trailers example

* Use isString instead

* Update lib/util/git/index.ts

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>

* Update lib/workers/repository/onboarding/branch/create.ts

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>

* Format code

* Fix type-check

* Fix tests

---------

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2026-07-27 06:49:09 +00:00
renovate[bot] 8971306954 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.7 (main) (#44872)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.7

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.6 | 13.77.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-27 06:30:07 +00:00
renovate[bot] 866dd5668e fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.6 (main) (#44860)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.5 | 13.77.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-26 18:27:56 +00:00
renovate[bot] be2ff0d0e9 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.5 (main) (#44842)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.4 | 13.77.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-25 15:59:51 +00:00
renovate[bot] 558fb51c17 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.4 (main) (#44837)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.3 | 13.77.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 20:33:04 +00:00
Micah Nagel c33364d126 fix(presets/helpers): ensure that pinGitHubActionDigestsToSemver preset only applies to actions (#44830)
fix: ensure that pinGitHubActionDigestsToSemver preset only applies to actions

Signed-off-by: Micah Nagel <micah.nagel@defenseunicorns.com>
2026-07-24 13:58:35 +00:00
renovate[bot] 5c316bee3b fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.3 (main) (#44829)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.2 | 13.77.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 13:35:16 +00:00
RahulGautamSingh e0714e0d23 feat(azure): make issue work item type configurable (#44736)
* feat(azure): make issue work item type configurable

* move azureWorkItemType to Config

* fix type

* add docs url using productLinks

* apply suggestions

* Update lib/modules/platform/azure/issue.ts

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>

* fix ci + doc addition

* fix docs lint

---------

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
2026-07-24 09:19:11 +00:00
renovate[bot] ee7285afa7 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.2 (main) (#44816)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.77.0 | 13.77.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-24 04:28:16 +00:00
renovate[bot] 609a1bee80 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.0 (main) (#44802)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.77.0

| datasource | package                        | from     | to      |
| ---------- | ------------------------------ | -------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.12 | 13.77.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-23 16:32:08 +00:00
renovate[bot] 5a400e2965 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.12 (main) (#44790)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.12

| datasource | package                        | from     | to       |
| ---------- | ------------------------------ | -------- | -------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.11 | 13.76.12 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-23 03:29:19 +00:00
renovate[bot] 381a5b420d fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.11 (main) (#44775)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.11

| datasource | package                        | from     | to       |
| ---------- | ------------------------------ | -------- | -------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.10 | 13.76.11 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-22 06:31:47 +00:00
renovate[bot] 55860735c5 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.10 (main) (#44771)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.10

| datasource | package                        | from    | to       |
| ---------- | ------------------------------ | ------- | -------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.9 | 13.76.10 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-22 03:30:03 +00:00
Jamie Tanna d16dc9a739 refactor(config/global): improve type restrictions for GlobalConfig.OPTIONS (#44636)
* refactor(config/global): improve type restrictions for `GlobalConfig.OPTIONS`

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fixup! refactor(config/global): improve type restrictions for `GlobalConfig.OPTIONS`

---------

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-07-21 13:19:41 +00:00
renovate[bot] d2aa7e3e94 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.9 (main) (#44748)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.9

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.8 | 13.76.9 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 23:32:18 +00:00
renovate[bot] a00c621f8d fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.8 (main) (#44747)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.8

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.7 | 13.76.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 22:34:11 +00:00
renovate[bot] 1e7391f4a6 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.7 (main) (#44743)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.7

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.6 | 13.76.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 19:36:56 +00:00
Sebastian Poxhofer 2dbfd85506 refactor(linters): enable node/no-sync and migrate to async calls (#44693)
* ci(linter): add renovate/no-sync-io rule

Flags calls to a fixed list of Node.js sync I/O APIs (readFileSync,
writeFileSync, mkdirSync, rmSync, readdirSync, statSync, existsSync,
copyFileSync, execSync, spawnSync, execFileSync) in tools/** and
**/*.spec.ts only; production lib code is not targeted.

Set to "warn" instead of "error": the repo has 40 pre-existing
violations, exceeding the agreed fix threshold of 30, so violations
are left in place for follow-up rather than mass-fixed here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): enforce renovate/no-sync-io at error

Promote the rule from warn to error now that the codebase has been
migrated off synchronous I/O in tools/ and spec files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(tools): migrate synchronous fs calls to async equivalents

Replace *Sync fs calls with their async/promise-based counterparts in
tools/ scripts (generate-imports, check runner, utils, cwdchanged hook)
now that renovate/no-sync-io is enforced at error there.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* test: migrate synchronous fs calls in specs to async equivalents

Replace *Sync fs calls (readdirSync, writeFileSync, existsSync, etc.)
with their async/promise-based counterparts across affected spec
files, making the enclosing it()/module-scope initializers async as
needed, to satisfy renovate/no-sync-io now enforced at error.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): replace custom no-sync-io rule with built-in node/no-sync

The oxc built-in covers a superset of the custom fixed-name list.
Migrate the additionally flagged sites: async glob in test-shards,
async execa in prepare-deps, promisified gzip/generateKeyPair in
rpm/hex specs, and rename the misleading execSync mock alias
(it mocks the async rawExec).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 14:28:26 +00:00
Jamie Tanna 0e6429b13e refactor(types): document localDir isn't a globalOnly option (#44635)
* refactor(types): document `localDir` isn't a `globalOnly` option

To make sure that it's clear when reviewing `GlobalConfig`, as well as
working with our types, we can move the `localDir` definition into a
separate type.

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

* fixup! refactor(types): document `localDir` isn't a `globalOnly` option

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>

---------

Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
2026-07-20 08:07:17 +00:00
renovate[bot] 37372a158b fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.6 (main) (#44724)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.5 | 13.76.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 06:35:59 +00:00
renovate[bot] 3200bd41a2 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.5 (main) (#44712)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.4 | 13.76.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 14:32:37 +00:00
renovate[bot] ac8e1d71e5 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.4 (main) (#44710)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.3 | 13.76.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 11:28:09 +00:00
Sebastian Poxhofer 58771bb183 refactor(linters): enabled oxlints func-style (#44691)
* refactor(oxlint): enable func-style

Enable the built-in func-style rule as ["warn", "declaration"] so that
named functions are written as function declarations instead of arrow or
function expressions assigned to variables, matching the convention in
docs/development/best-practices.md (Functions section). Inline arrow
callbacks are unaffected; prefer-arrow-callback continues to cover the
callback direction.

Severity is "warn" instead of "error" as a fallback: a repo-wide run
found 196 pre-existing violations (70 in spec files, 126 in production
code), exceeding the 80-violation fix threshold for this change, so no
violations were fixed here. Follow-up work can convert the offenders
(largest clusters: lib/modules/versioning/ruby, lib/util/cache/package,
lib/modules/versioning/maven, lib/modules/versioning/gradle) and then
raise the rule to "error". Note oxlint 1.72 also supports an
allowTypeAnnotation option if typed consts should remain arrows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci(linter): enforce func-style at error

* refactor(func-style): convert const-arrow functions to declarations in with-cache spec and ruby versioning

* refactor(func-style): convert const-arrow functions to declarations in maven/gradle modules

* refactor(func-style): convert const-arrow functions to declarations in remaining versioning modules

* refactor(func-style): convert const-arrow functions to declarations in platform modules

Discriminated-union closures (ensureCommentRemoval byTopic/byContent
helpers in github, gitlab, bitbucket, bitbucket-server) needed the
narrowed field passed explicitly as a parameter, since function
declarations are hoisted and lose the outer if-narrowing that inline
arrow-function closures previously relied on.

* refactor(func-style): convert const-arrow functions to declarations across util/manager/datasource modules

One case (logger/renovate-logger.ts logOnceFn) is kept as an arrow
function with a documented oxlint-disable: it is stored on
this.logger.once[level] and relies on lexically-bound this, which a
hoisted function declaration would not preserve.

* refactor(func-style): convert remaining const-arrow test helpers to declarations

get-updated.spec.ts: hoisted expectPipCompilePackageAndLockFile to
module scope (it only closes over the module-level pipCompile mock)
and added a documented oxlint-disable for vitest/expect-expect on its
caller test, since oxlint's expect-expect check does not trace
assertions through an externally-defined helper function.

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 11:14:22 +00:00
renovate[bot] 55df4c7eaa fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.3 (main) (#44708)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.2 | 13.76.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 09:31:50 +00:00
renovate[bot] 54d839de7f fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.2 (main) (#44705)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.1 | 13.76.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 06:30:06 +00:00
renovate[bot] efe4c69afd fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.1 (main) (#44703)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.76.0 | 13.76.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 04:31:43 +00:00
renovate[bot] f532fdc8f6 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.0 (main) (#44695)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.76.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.7 | 13.76.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-18 14:27:47 +00:00
renovate[bot] c92de21545 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.7 (main) (#44668)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.7

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.6 | 13.75.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 16:28:44 +00:00
renovate[bot] 7bdb71336d fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.6 (main) (#44662)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.6

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.5 | 13.75.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 13:32:01 +00:00
Felipe Santos 768fd6c4b1 fix(presets/workarounds): keep major-only Java Docker tags rolling (#44603)
fix(presets/workarounds): don't upgrade major-only Java Docker tags to full-precision tags
2026-07-17 12:29:08 +00:00
Sebastian Poxhofer 4add67e86e test: add linter for as any in test files (#44658)
* ci(linter): add prefer-partial-in-specs oxlint rule

Flags object literals cast to `any` (`{...} as any`) in spec/test files and steers toward `partial<T>()` from `test/util`. Enabled at error in the spec-files override so CI blocks new occurrences.

Closes #44646

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test: drop unnecessary object-literal `as any` casts

The casts masked values already assignable to the expected type (migration configs accepted as Record<string, unknown>, all-optional param types, etc.); removing them restores real type checking.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test: replace object-literal `as any` casts with partial<T>()

Uses partial<T>() from test/util so incomplete mock/config objects keep proper typing. Azure API mocks switch to mockResolvedValue(partial<T>()) and their inner method mocks to mockResolvedValue(), matching the sibling-file idiom.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* test: suppress prefer-partial-in-specs for intentionally-invalid inputs

Some tests deliberately pass malformed or legacy data to exercise validation/error paths, where no real type fits; keep the cast with a reasoned oxlint-disable-next-line.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 10:47:30 +00:00
renovate[bot] 49529291df fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.5 (main) (#44653)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.5

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.4 | 13.75.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 00:43:22 +00:00
renovate[bot] 7d1c8333e6 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.4 (main) (#44644)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.4

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.2 | 13.75.4 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-16 14:42:40 +00:00
Felipe Santos 42864ebb4d fix(config): move checkedBranches and rebaseAllOpenBranches into GlobalConfig (#44611)
* refactor(config): move checkedBranches and rebaseAllOpenBranches into GlobalConfig

Both options are globalOnly but were being read directly off the
repository config object instead of GlobalConfig, so they weren't
part of the RepoGlobalConfig contract enforced elsewhere.

* test: reset GlobalConfig in beforeEach instead of per-test

Matches the pattern used elsewhere (common.spec.ts, error-config.spec.ts,
prune.spec.ts) and resets before each test instead of after, so a failed
assertion can't leak state into the next test.

* refactor: use isNonEmptyArray instead of .length check
2026-07-15 15:41:03 +00:00
Felipe Santos 13b5ae4307 feat: add --rebase-all-open-branches (#44607)
* feat: add `--rebase-all-open-branches`

* feat: mark rebaseAllOpenBranches as cli: true explicitly

* feat: mark checkedBranches as cli: true explicitly
2026-07-15 14:44:11 +00:00
renovate[bot] 79e0a29d57 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.2 (main) (#44583)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.1 | 13.75.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-14 18:24:42 +00:00
renovate[bot] 54d52f27f0 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.1 (main) (#44573)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.75.0 | 13.75.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-14 13:08:50 +00:00
Sebastian Poxhofer 9717259ffc refactor(oxlint): enable no-else-return and unicorn/no-lonely-if (#44553)
Enable no-else-return (with allowElseIf: false) and unicorn/no-lonely-if
as errors in .oxlintrc.json and fix all 131 pre-existing violations
(91 no-else-return, 40 unicorn/no-lonely-if) across 98 files.

The no-else-return violations were fixed with the oxlint autofix
(iterated to a fixpoint, plus two else-if chains that required
--fix-dangerously) followed by Prettier formatting. One comment dropped
by the autofix in lib/modules/manager/pub/artifacts.ts was restored
manually. The unicorn/no-lonely-if violations were merged by hand,
preserving comments and coverage-ignore hints.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 12:11:21 +00:00
Sebastian Poxhofer 7436b80cda test(linter): add renovate/no-redundant-mock-reset rule (#44557)
ci(linter): add renovate/no-redundant-mock-reset rule

Vitest sets mockReset: true globally in vitest.config.mts, which resets
all mocks before each test. This makes vi.resetAllMocks() /
vi.clearAllMocks() and per-mock .mockReset() / .mockClear() calls inside
beforeEach/afterEach hooks redundant. Add a custom oxlint rule (enabled
for **/*.spec.ts and test/**) flagging such calls, and remove the 40
redundant calls it found. restoreAllMocks/mockRestore are not flagged
because restoreMocks is not enabled globally.

Two sites keep an inline disable with a reason: nested beforeEach hooks
in filter-checks.spec.ts and onboarding/pr/index.spec.ts intentionally
call mockReset() to discard once-values queued by an outer beforeEach.

Requested by maintainer review feedback (review comment 3052324877).

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 11:26:20 +00:00
renovate[bot] 6e227979f7 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.0 (main) (#44568)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.75.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.74.3 | 13.75.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-14 10:28:43 +00:00
renovate[bot] 08f723e245 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.74.3 (main) (#44558)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.74.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.74.2 | 13.74.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-14 08:29:41 +00:00