Commit Graph

14403 Commits

Author SHA1 Message Date
Sebastian Poxhofer 04fb640308 feat(replacements): add @aws-sdk/smithy-client to @smithy/smithy-client (#44230) 2026-06-25 15:19:28 +00:00
Matthew Nitschke 2258aa4180 fix(manager/pub): Always populate pub extracted constraints (#44220)
always populate pub extracted constraints
2026-06-25 05:51:41 +00:00
renovate[bot] 50e54864ff fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.67.1 (main) (#44223)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.67.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.67.0 | 13.67.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-25 04:30:32 +00:00
renovate[bot] 3f697a48b8 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.67.0 (main) (#44209)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.67.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.66.2 | 13.67.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-24 03:28:22 +00:00
renovate[bot] d777130a65 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.66.2 (main) (#44206)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.66.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.66.1 | 13.66.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-24 01:28:31 +00:00
renovate[bot] 604b83d47e fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.66.1 (main) (#44202)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.66.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.66.0 | 13.66.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-23 23:27:11 +00:00
renovate[bot] 3f01267d9a feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.66.1 (main) (#44198)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.66.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.65.0 | 13.66.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-23 22:25:03 +00:00
Matthew Nitschke 4ad5bc1b44 feat(manager/pub): extract constraints (#44171)
* added dart/pub constraintsFilter support

* updated documentation to include pub for constraintsFiltering

* only add extractedConstraints if its populated

* increased coverage

* handle non-nullable environment.sdk better
2026-06-23 15:37:59 +00:00
Illia Mazuriak fed1eb1066 fix(platform/azure): avoid corrupting HTML entities and URL anchors in massageMarkdown (#44131)
The `#(\d+)` -> `!$1` replacement added in #42758 over-matched any `#`
followed by digits, corrupting HTML entities such as `&#8203;` (becomes
`&!8203;`) and changelog URL anchors such as `CHANGELOG.md#4780` (becomes
`!4780`) in Azure DevOps PR bodies.

Only convert a standalone reference preceded by start-of-string, whitespace
or `(`, matching the boundary already used in util/markdown.ts.
2026-06-23 14:43:59 +00:00
Felipe Santos 936decec07 fix: preserve version in PR title for Maven property updates (#44176)
* fix: `commitMessageExtra` not being honored

* Retain version for Maven property versions

* Fix PRs not being marked as immortal

* Revert "Fix PRs not being marked as immortal"

This reverts commit a17cc15342.

* Revert "Retain version for Maven property versions"

This reverts commit 3f14484f46.

* Revert "fix: `commitMessageExtra` not being honored"

This reverts commit 6c86357580.

* fix: avoid removing the version the PR title for Maven properties

* Do not consider Maven property updates as groups

---------

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-06-23 14:39:04 +00:00
renovate[bot] 2d3424d8d0 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.65.0 (main) (#44192)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.65.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.64.0 | 13.65.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-23 14:30:16 +00:00
Matthew Nitschke cce3e869e4 feat(datasource/dart): Added support for constraints extraction (#44191)
added support for constraints extraction to the dart manager
2026-06-23 14:15:12 +00:00
Jamie Tanna 677470b75c chore(manager/mix): extract hardcoded Erlang version for updates (#44180)
* chore(manager/mix): extract hardcoded Erlang version for updates

As noted in #44149, we're not performing updates to the version of
Erlang, which means that unless users specify a `constraints.erlang`,
they are resolved to Erlang 25.3.2.21 (2025-07-09).

To start getting updates more frequently, we can extract this with a
Custom Manager, with:

- `loose` versioning (per #26768) for the 4-part versioning
- `extractVersion` to make sure we only get the first major
- `separateMultipleMajor` to allow us control over how we update
- a `renovate:` comment for visibility

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

* fixup! chore(manager/mix): extract hardcoded Erlang version for updates

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-23 13:29:59 +00:00
Jamie Tanna 9d0ddbd2bc feat(config): set groupSingleUpdates=false by default (#44168)
* feat(config): set `groupSingleUpdates=false` by default

Although it didn't seem like this may be a breaking change when we
introduced this[0], there have been a number of follow-up Discussions
reported that have indicated there has been some breakage from the
changes.

Instead of continually fixing forward, we can revert this back to an
opt-in feature.

Once it's stable, we can look at re-enabling it (most likely in a major
release, unless we're confident no breakage should occur).

[0]: https://github.com/renovatebot/renovate/pull/43629#issuecomment-4594201274

* fixup! feat(config): set `groupSingleUpdates=false` by default
2026-06-23 09:17:57 +00:00
renovate[bot] a0df771195 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.64.0 (main) (#44177)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.64.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.63.2 | 13.64.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-23 03:28:57 +00:00
renovate[bot] f9b1af730b fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.63.2 (main) (#44172)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.63.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.63.1 | 13.63.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 22:31:17 +00:00
renovate[bot] 0d87a48e6a fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.63.1 (main) (#44164)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.63.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.63.0 | 13.63.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 15:00:57 +00:00
Jamie Tanna 860293bc33 chore(util/exec): log the environment variable names when exerting a command (#44159)
* test(util/exec): cover `Executing command` log line

As an important log line, we should make sure it doesn't change without
a test failing.

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

* chore(util/exec): log the environment variable names when exerting a command

When debugging, it's often unclear as to whether an environment variable
was passed to a command, unless we see the command fail (which includes
the environment variable names).

We can make sure we log the environment variable names themselves, when
executing the command, to make it more clear.

* fixup! chore(util/exec): log the environment variable names when exerting a command

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-22 13:33:17 +00:00
renovate[bot] 5ad54b5237 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.63.0 (main) (#44157)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.63.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.62.3 | 13.63.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 10:34:55 +00:00
RahulGautamSingh cd2ae5d368 refactor: add more options to template support (#43822)
add more options to template support
2026-06-22 07:53:18 +00:00
Alex Thomae f3492fe1c8 fix(workers/repository): use GlobalConfig for productLinks (#44126)
* 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.
2026-06-22 07:16:59 +00:00
renovate[bot] b60b4058b0 docs: update references to python to 4d7dd74 (main) (#44136)
docs: update references to python to 4d7dd74

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 00:29:01 +00:00
github-actions[bot] c145c012ee feat(data): automatic update of static data (#44121)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-21 05:53:31 +00:00
renovate[bot] 8ba083c76f fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.3 (main) (#44112)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.3

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.62.2 | 13.62.3 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-20 14:28:13 +00:00
renovate[bot] 83a863f0da fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.2 (main) (#44109)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.62.1 | 13.62.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-19 20:31:49 +00:00
Jamie Tanna b8c4eb2088 fix(containerbase): support constraints.rust=nightly (#43543)
As noted in #43489, it's not currently possible to install the nightly
variant of Rust.

Although Containerbase does have support for `install-tool rust nightly`
it never gets that far, as the version lookup occurs through the
`docker` datasource.

We can instead make sure we move to the `rust-version` datasource and
its associated `rust-release-channel` versioning.

The result from the `rust-release-channel` returns a version like
`nightly-2026-06-19`, which needs extra handling in Containerbase.

We can also update **??** what supported Rust versions we'd accept.
2026-06-19 17:50:41 +00:00
renovate[bot] 05874ee335 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.1 (main) (#44104)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.62.0 | 13.62.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-19 15:58:13 +00:00
Adam Gutglick 47581282ed feat(monorepo): Add arrow-rs repository (#44005)
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
2026-06-19 15:00:30 +00:00
Felipe Santos 523bf29be8 fix: not applying global options in object entries in repositories array (#43295)
* fix: not applying global options in object entries in `repositories` array

* Use isNonEmptyObject

* Add test for per-repo override

* Use AllConfig instead
2026-06-19 14:55:52 +00:00
Felipe Santos ae13ef034a fix: omit version from pr title if group has a single update (#43970) 2026-06-19 10:37:07 +00:00
Yuchen Shi a8b864363c fix(manager/flux): extract both commit and branch for GitRepository (#43560) 2026-06-19 10:35:11 +00:00
Jamie Tanna 89be048657 refactor: use GlobalConfig for productLinks (#44098)
As a follow-up to e1e5c398e0, we can make
sure that we remove references to hardcoded docs site URLs, by wiring in
the `GlobalConfig.get(...)` call.

To do this, we need to make sure that `productLinks` exists to be called
by `GlobalConfig.get`.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-19 10:34:03 +00:00
renovate[bot] 3c4d1c62ab feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.0 (main) (#44096)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.62.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.61.2 | 13.62.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-19 01:37:31 +00:00
renovate[bot] a69f4f9056 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.61.2 (main) (#44095)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.61.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.61.1 | 13.61.2 |

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

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.61.0 | 13.61.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-18 18:35:54 +00:00
Pieter Willekens f88e12040b feat(datasource/packagist): prefer published-time over time for release timestamp (#44021)
* feat(datasource/packagist): prefer published-time over time for release timestamp

* refactor(datasource/packagist): use Nullish util for published-time

* Update lib/modules/datasource/packagist/schema.ts

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-06-18 09:47:53 +00:00
Pieter Willekens 1a0536d375 fix(manager/mise): disable digest pinning (#44036)
mise tool versions are plain version strings (e.g. `"aqua:pnpm/pnpm" = "11.6.0"`)
with no syntax to attach a commit digest, so a digest can never be written to a
mise config file. Backends such as aqua and core resolve to the github-tags
datasource, which exposes `getDigest`, so a global `pinDigests: true` makes
Renovate emit `pinDigest` updates for mise tools. These updates produce no file
change and then fail post-update verification with "Digest is not updated" ->
"Error updating branch: update failure" on every run.

Disable digest pinning at the manager level, matching terraform, gomod, and the
other managers whose dependencies have no place to store a digest.
2026-06-18 09:46:32 +00:00
Jamie Tanna e1e5c398e0 chore: ensure we use productLinks for docs site links where possible (#44066)
* chore: ensure we use `productLinks` for docs site links where possible

Where possible, we should be making sure that we're using the
`productLinks`' configuration for  the documentation site, especially
where self-hosted users may create a mirror of their docs[0].

To make sure we catch this in the future, we can introduce a custom
linting rule with Oxlint to enforce this.

Where we (currently) can't wire in the config, we can disable it against
that line.

[0]: https://www.jvt.me/posts/2024/11/19/renovate-private-docs/

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

* fixup! chore: ensure we use `productLinks` for docs site links where possible

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

* fixup! chore: ensure we use `productLinks` for docs site links where possible

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

---------

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-18 08:55:27 +00:00
Sergei Zharinov 75e6c00fb0 fix(semver): Add legacy layer for x-ranges (#44074)
* test(versioning): cover legacy x-range behavior

* fix(versioning): preserve legacy x-ranges with semver
2026-06-18 08:50:43 +00:00
renovate[bot] 50a78d8e70 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.61.0 (main) (#44078)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.61.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.60.2 | 13.61.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-18 08:45:58 +00:00
Jamie Tanna 1754bb86ad fix(datasource/npm): handle array of repository for legacy packages (#44061)
When attempting to perform dependency updates on the `tmp` package,
parsing a previous version's Zod schema results in a lookup failure, as
it had an incorrect form of `repository` as of tmp@0.0.4.

We can handle this by treating it more loosely to convert an array of
repositories into a single element, and handle this on both a
per-version and per-package lookup.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-18 08:39:57 +00:00
Pieter Willekens 3575630864 feat(datasource/packagist): mark abandoned packages as deprecated (#44037)
* feat(datasource/packagist): mark abandoned packages as deprecated

Parse Packagist's `abandoned` field and surface it via `isDeprecated`
and `deprecationMessage`, matching how the npm datasource handles npm's
`deprecated` field. When `abandoned` is a replacement package name, the
message suggests it.

This is an official registry signal, so it maps to Renovate's
deprecation mechanism, not the timestamp-based abandonment heuristic.

* test(datasource/packagist): drop incorrect output-type annotation on raw input

* update tests

* Update lib/modules/datasource/packagist/schema.ts

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-06-18 08:36:07 +00:00
Jamie Tanna 16187259eb chore(instrumentation): instrument config validation (#43839)
As a way to understand how the underlying config validation code
performs, we can measure it.
2026-06-18 06:16:24 +00:00
renovate[bot] fdf5f9dff8 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.60.2 (main) (#44045)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.60.2

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.59.4 | 13.60.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-17 22:41:05 +00:00
Sebastian Poxhofer 0cfffb7ffd fix(platform/forgejo): support empty string email and normalize to undefined (#44068) 2026-06-17 19:14:18 +00:00
Jonathan Morley 5b4e0947cb fix(docker): handle maxResults error on auth probe for ECR repo (#43657)
* fix(docker): handle 405 maxResults error on auth probe for ECR-compatible proxies

Some private Docker registries that front ECR reject `n=10000` on the tags
URL even during the auth-probe request, returning a 405 with the ECR-style
"Member must have value less than or equal to 1000" error body.
`getAuthHeaders` had no handler for this case and returned null, so the
lookup aborted before the main fetch loop's existing n=1000 retry could fire.

Fix: extract `isECRMaxResultsResponse` from `isECRMaxResultsError` in ecr.ts
and use it in `getAuthHeaders` to detect the 405 pattern. When matched, fall
back to probing the base `/v2/` endpoint for auth, then let the existing
`isECRMaxResultsError` retry in the tag-fetch loop handle the n=1000 fallback.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(docker): address PR review comments on ECR proxy auth probe fix

- Shorten test token to 'abc' to avoid CodeQL secret-detection false positive
- Replace HttpResponse<any> with HttpResponse<unknown> in common.ts and ecr.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(docker): replace HttpResponse<any> with HttpResponse<unknown> in isECRMaxResultsResponse

Cast body to a typed shape inline instead of widening the whole response to any.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(docker): replace toMatchInlineSnapshot with toEqual in ECR auth probe test

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 16:18:10 +00:00
Jan-Otto Kröpke e921d2754b feat(presets/workarounds): Add grafana/grafana-enterprise to grafanaDockerImageVersioning (#44058)
* fix(presets/workarounds): Add grafana/grafana-enterprise to grafanaDockerImageVersioning

* fix lint
2026-06-17 10:31:20 +00:00
Sebastian Poxhofer f9305c2826 fix(platform/forgejo): tollerate null values for Issues (#44048) 2026-06-16 19:48:26 +00:00
Sebastian Poxhofer 7573fa98f2 feat(platform/forgejo): validate http request with schemas (#43900)
* fix(platform/forgejo): replace getJsonUnchecked with validated getJson

Migrate all getJsonUnchecked calls in the Forgejo platform module to use
getJson with Zod schemas for response validation. Add comprehensive Zod
schemas to schema.ts and update test mocks to use proper data formats.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* simplify by using infered types

* first pass on reducing duplications

* move PrStatus and CommitStatus to schema

* remove code handling BranchStatus values now ensured by schema

* remove now unreachable code

* fix coverage

* use forgejo schemas instead gitea for changelog fetching

* feat: do not abort repo on unrecognized default merge style

* refactor: instead of usages of `?? {}` with a default parameter

* tighten required parameters and move contentString generation to schema

* refactor: merge both content schemas and use a discriminated union

* refactor: move patchJson and postJson to schema validation

* Make body field required

* make schema more strict

* use DeepNullish

* simplify catch

* revert the gitea Content type change

* unify User

* log more nicely if accidentally not a file has been referenced

* Use fakeSha and LongCommitSha schema

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 14:22:01 +00:00
Jamie Tanna cf72b933aa test(config-validation): add a test harness for renovate-config-validator (#44038)
Per #40738 and #44034, we're seeing recent changes to
`renovate-config-validator` that have led to either a gap in
functionality or a breaking change that makes
`renovate-config-validator` unusable.

To make sure that we ensure that we're always making reasonable changes
to `renovate-config-validator`, we can introduce an integration test
harness to validate the call end-to-end.

We can make sure to handle:

- `--version`
- using global/repo config files
- any of the known config filenames (#44034)
- explicitly test a JSONC and JSON5 file with their respective example
  content

Due to the full end-to-end run of `renovate-config-validator`, which
creates a full Node process, we can run the tests concurrently to ensure
that we speed up the test runs, as they're fairly slow in comparison to
regular tests.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-06-16 13:56:45 +00:00