Commit Graph

27161 Commits

Author SHA1 Message Date
renovate[bot] 32a7a12d82 build(deps): update dependency semver to v7.8.2 (main) (#43944)
build(deps): update dependency semver to v7.8.2

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | semver  | 7.8.1 | 7.8.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 15:49:55 +00:00
renovate[bot] 8666b7afe0 build(deps): update dependency openpgp to v6.3.1 (main) (#43943)
build(deps): update dependency openpgp to v6.3.1

| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | openpgp | 6.3.0 | 6.3.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 15:44:32 +00:00
Michael Kriese 6fd6887432 ci: centralize docker setup (#43937)
* ci: centralize docker setup

* ci: remove emojis
2026-06-11 13:03:01 +00:00
renovate[bot] d1ee3eff21 chore(deps): update containerbase/internal-tools action to v4.6.43 (main) (#43935)
chore(deps): update containerbase/internal-tools action to v4.6.43

| datasource  | package                      | from    | to      |
| ----------- | ---------------------------- | ------- | ------- |
| github-tags | containerbase/internal-tools | v4.6.42 | v4.6.43 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 11:38:59 +00:00
renovate[bot] 00c8c607b6 chore(deps): update dependency tsdown to v0.22.2 (main) (#43931)
chore(deps): update dependency tsdown to v0.22.2

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | tsdown  | 0.22.1 | 0.22.2 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 10:42:15 +00:00
Michael Kriese e5055dc2ef build: fix prepare command for pnpm v11 (#43928) 2026-06-11 09:10:42 +00:00
renovate[bot] c1426d0931 chore(deps): update dependency @types/node to v24.13.0 (main) (#43926)
chore(deps): update dependency @types/node to v24.13.0

| datasource | package     | from    | to      |
| ---------- | ----------- | ------- | ------- |
| npm        | @types/node | 24.12.4 | 24.13.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 08:20:52 +00:00
renovate[bot] 11b12669c4 chore(deps): update dependency @smithy/util-stream to v4.6.6 (main) (#43884)
chore(deps): update dependency @smithy/util-stream to v4.6.6

| datasource | package             | from  | to    |
| ---------- | ------------------- | ----- | ----- |
| npm        | @smithy/util-stream | 4.6.5 | 4.6.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 08:20:29 +00:00
Michael Kriese 57da6b1573 build: ensure package version is updated in prepare (#43927) 2026-06-11 07:58:49 +00:00
renovate[bot] f99633f7d8 chore(deps): update dependency uv to v0.11.20 (main) (#43924)
chore(deps): update dependency uv to v0.11.20

| datasource      | package      | from    | to      |
| --------------- | ------------ | ------- | ------- |
| github-releases | astral-sh/uv | 0.11.19 | 0.11.20 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 05:29:19 +00:00
renovate[bot] 2a99e858ae chore(deps): update dependency astral-sh/uv to v0.11.20 (main) (#43923)
chore(deps): update dependency astral-sh/uv to v0.11.20

| datasource      | package      | from    | to      |
| --------------- | ------------ | ------- | ------- |
| github-releases | astral-sh/uv | 0.11.19 | 0.11.20 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 05:25:00 +00:00
Felipe Santos 1cc57d4152 docs: switch from pdm to uv for docs dependencies (#43917)
* build(docs): switch from pdm to uv for docs dependencies

* Add pdm back to gitignore

* Remove UV_VERSION

* Restore missing uv sync and set --locked
2026-06-11 05:13:21 +00:00
Felipe Santos 1f2fc0a17c chore(deps): update dependency pnpm to v11 (#43885)
* chore(deps): update dependency pnpm to v11

* Fix test-e2e

* Rename npm_config to pnpm_config in Dockerfile

* test: fix test cases failing inside devcontainer

* Update pnpm to 11.5.3

* Remove extra pnpm-workspace.yaml

* Revert flag position

* Remove --prod as it's not relevant, there are no devdeps

* Downgrade to 11.5.2

* Remove offline flag not available in CI

* Fix mise.toml formatting

* Remove .npmrc from docker build
2026-06-10 19:54:46 +00:00
renovate[bot] 50b4fa7af9 build(deps): update dependency @renovatebot/pgp to v1.3.13 (main) (#43914)
build(deps): update dependency @renovatebot/pgp to v1.3.13

| datasource | package          | from   | to     |
| ---------- | ---------------- | ------ | ------ |
| npm        | @renovatebot/pgp | 1.3.12 | 1.3.13 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 14:34:30 +00:00
renovate[bot] ffc0d16214 chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.10.25 (main) (#43915)
chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v14.10.25

| datasource | package                            | from     | to       |
| ---------- | ---------------------------------- | -------- | -------- |
| docker     | ghcr.io/containerbase/devcontainer | 14.10.24 | 14.10.25 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 14:34:15 +00:00
Pierluigi Lenoci 09def4f3a7 feat(config): add statusCheckWhen option to control individual Renovate status checks (#42887)
* feat: add generic statusCheckWhen option to control any renovate status check

Replace the artifacts-specific `artifactsCheckWhen` option with a generic
`statusCheckWhen` object that can control when ANY Renovate status check is
emitted. Keys mirror `statusCheckNames`: `artifactError`, `configValidation`,
`mergeConfidence`, `minimumReleaseAge`.

Each key accepts: "always" | "never" | "failed"
- always: set check on every commit (green on success, red on failure)
- never: skip the check entirely
- failed: only set the check when there is a failure (silent on success)

Default values preserve existing behavior:
- artifactError: "failed" (only report failures, as before)
- configValidation: "always"
- mergeConfidence: "always"
- minimumReleaseAge: "always"

The defaults table in docs is autogenerated from the option's `default`
field via `tools/docs` so the docs cannot drift from the source of truth.

Logging is gated so that "skipping" debug lines only fire when there is
something to skip (errors / status set), keeping logs quiet on every
branch run when a check is set to "never".

Example configuration:
```json
{
  "statusCheckWhen": {
    "artifactError": "always",
    "mergeConfidence": "never"
  }
}
```

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>

* refactor(docs): address viceice review — single replace marker, coerceObject, simplify replaceContent call

- Use single replace marker instead of begin/end pair in docs and config.ts
- Use coerceObject from lib/util/object.ts instead of manual (val ?? {}) as Type
- Refactor replaceContent call to match upstream API signature (string, not object)

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>

* fix: fix test for never mode with no errors and format docs

- Add missing config.artifactErrors = [] in test that checks
  'skips status entirely when mode is never with no errors' (beforeEach
  sets artifactErrors to [{fileName: 'some'}], test needs no errors)
- Reformat note block in docs from 4-space to 2-space indent to match
  prettier formatting (custom mkdocs-admonitions plugin expectation)

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>

---------

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>
43.220.0
2026-06-10 14:22:43 +00:00
renovate[bot] dd5770308a chore(deps): update dependency python to v3.14.6 (main) (#43910)
chore(deps): update dependency python to v3.14.6

| datasource  | package        | from   | to     |
| ----------- | -------------- | ------ | ------ |
| github-tags | python/cpython | 3.14.5 | 3.14.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 13:37:14 +00:00
renovate[bot] 20fe86c10f feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.58.0 (main) (#43909)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.58.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.57.1 | 13.58.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.219.0
2026-06-10 11:06:13 +00:00
renovate[bot] 4b029751ce chore(deps): update dependency memfs to v4.57.6 (main) (#43908)
chore(deps): update dependency memfs to v4.57.6

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | memfs   | 4.57.5 | 4.57.6 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 10:47:42 +00:00
renovate[bot] 72eb482962 chore(deps): update dependency memfs to v4.57.5 (main) (#43907)
chore(deps): update dependency memfs to v4.57.5

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | memfs   | 4.57.3 | 4.57.5 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-10 10:34:21 +00:00
Roshan Banisetti 5a8b5bbedd feat(platform/gitea,forgejo): use login instead of username for user handles (#43904)
refactor(platform/gitea,forgejo): replace username with login in User types
43.218.0
2026-06-10 06:10:43 +00:00
renovate[bot] b103f93f01 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.57.1 (main) (#43903)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.57.1

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.57.0 | 13.57.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.217.1
2026-06-10 01:31:23 +00:00
Sebastian Poxhofer dfe806f9ac refactor(gerrit): use schema validated getJson instead of getJsonUnchecked (#43777)
* fix(platform/gerrit): replace getJsonUnchecked with validated getJson

Migrate all getJsonUnchecked calls in lib/modules/platform/gerrit/client.ts
to use Zod-validated getJson. Co-locate schemas in schema.ts with lenient
optional fields to ensure backward compatibility with all existing API responses.

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

* strictly follow previous interfaces

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
43.217.0
2026-06-09 17:23:04 +00:00
renovate[bot] ae859faa54 feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.57.0 (main) (#43893)
feat(deps): update ghcr.io/renovatebot/base-image docker tag to v13.57.0

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.56.8 | 13.57.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 10:32:22 +00:00
Jérémy Fauvel 5646cbae8c fix: use lockedVersion for currentVersionTimestamp lookup (#42476)
break line
43.216.4
2026-06-09 09:28:35 +00:00
Jiri Daněk def09c2661 fix(github): use base_tree in pushFiles to avoid org ruleset file-path restrictions (#42556)
* fix(github): use base_tree in pushFiles to avoid org ruleset file-path restrictions (#42554)

pushFiles sent the entire repo tree to POST /git/trees without base_tree.
GitHub validates all file paths against org rulesets, rejecting the tree
when it contains protected files (e.g. semgrep.yaml) — even if Renovate
only changed unrelated paths.

Use base_tree (parent commit's tree) with only the changed files from
git diff-tree, so unchanged protected files are inherited without
validation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test(git): add coverage for getCommitTreeSha and diffCommitTree

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(test): assert specific files instead of hardcoding diff count

The test fixture creates 2 known files between develop and
defaultBranch (master_file, file_to_delete), but CI produces 3
changed files — likely a .gitattributes from the CI environment.
Assert on the known files rather than the total count.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(git): handle renames, copies, and submodules in diffCommitTree

- Regex now matches multi-char status codes (R100, C100) and
  tab-separated source/target paths for renames and copies.
- Renames emit a deletion for the source path + addition for target.
- Derive tree item type from mode: 160000→commit, 040000→tree,
  otherwise blob.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor(git): address review comments in diffCommitTree

Keep git utility types centralized and make diff status handling easier to follow.

Made-with: Cursor

* test(git): cover rename handling in diffCommitTree

Verify that renamed files are emitted as a deletion for the old path and an addition for the new path, matching the tree delta expected by GitHub.

Made-with: Cursor

* fix(git): validate parsed tree SHA

Fail fast when commit output cannot be parsed into a tree SHA so pushFiles does not propagate an invalid base_tree, and cover the failure path in tests.

Made-with: Cursor

* fix(git): enable rename detection and cover remaining diffCommitTree branches

Add -M to diff-tree so Git emits R status for renames, exercising the
existing case 'R' handler. Add focused tests for rename parsing,
submodule mode (160000), and tree mode (040000).

Made-with: Cursor

* fix(git): clarify copy vs rename comment in diffCommitTree

R uses both tab-separated paths (delete old + add new), while C falls
through to default where only the target path matters.

Made-with: Cursor

* refactor(git): remove dead listCommitTree and TreeItem

Nothing imports listCommitTree after the switch to diffCommitTree with
base_tree. Remove the function, its regex, its test, and the TreeItem
interface.

Made-with: Cursor

* refactor(git): tighten DiffTreeItem.type to GitObjectType union

Define GitObjectType = 'blob' | 'tree' | 'commit' and use it in
DiffTreeItem and treeTypeFromMode instead of plain string.

Made-with: Cursor

* fix(git): remove unreachable nullish coalescing in getCommitTreeSha

split()[0] on a non-empty string is always defined, so the ?? ''
fallback was unreachable and caused an uncovered branch in Codecov.

Made-with: Cursor

* fix(git): add v8 ignore for partial branch on throw template literal

v8 reports template literal interpolations inside throw as partial
branch coverage even when the line is tested. Use the established
v8 ignore pattern to suppress the false positive.

Made-with: Cursor

* fix(github): guard pushFiles against empty diff from diffCommitTree

GitHub's POST /git/trees rejects an empty tree array with 422
"Invalid tree info". While prepareCommit already prevents no-op
commits from reaching pushFiles, add a defensive early return so
the failure mode is a clear log message instead of a swallowed 422.

Made-with: Cursor

* docs(github): document hybrid git/REST commit strategy in pushFiles

Restore architectural knowledge from PRs #13824 and #14271 that was
lost when the old "for reasons unknown" comments were replaced. The
push-then-recreate pattern exists because custom refs avoid CI triggers,
REST-created commits get GitHub signing, and GraphQL lacks force-push
and file mode support.

Made-with: Cursor

* fix(git): wrap bare regex literals in regEx() in tests

Use the project's regEx() helper instead of bare /pattern/ in
toMatch and stringMatching calls, consistent with repo conventions.

Made-with: Cursor

* fix(git): revert regEx() in expect.stringMatching (only accepts bare RegExp)

expect.stringMatching() is a Vitest/Jest API that requires a native
RegExp, not the wrapped object from Renovate's regEx() helper.

Made-with: Cursor

* fix(git): drop line count from v8 ignore next

Vitest uses ast-v8-to-istanbul which is AST-aware: it ignores the
entire next AST node (here the whole throw statement), making the
line count unnecessary.

Made-with: Cursor

* refactor(git): replace magic mode strings with GitTreeMode enum

Introduce a documented GitTreeMode enum in types.ts and use it in
treeTypeFromMode, replacing raw '160000'/'040000' literals with named
members linked to the git data model documentation.

Made-with: Cursor

* fix(git): use const object instead of enum for GitTreeMode

Node's TypeScript strip-only mode does not support enum syntax.
Use `as const` object pattern consistent with the rest of the codebase.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
43.216.3
2026-06-09 09:08:20 +00:00
Felipe Santos 33ca9e6ed7 test: fix test cases failing inside devcontainer (#43886) 2026-06-09 06:50:08 +00:00
renovate[bot] 4790189757 chore(deps): update dependency graphql to v16.14.1 (main) (#43887)
chore(deps): update dependency graphql to v16.14.1

| datasource | package | from    | to      |
| ---------- | ------- | ------- | ------- |
| npm        | graphql | 16.14.0 | 16.14.1 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 05:45:30 +00:00
Alex Waibel 5e4ef7486e fix(manager/flux): pin tag-only OCIRepository digests to spec.ref.digest (#43753)
* fix(flux): pin tag-only OCIRepository digests to separate ref.digest field

* fix(flux): simplify range checks in extractOCIRefTagRange function

* fix(extract): improve handling of OCI reference nodes by using Scalar types

* fix(extract): refactor findOCIRefNodes to accept parsed documents instead of raw content

* fix(extract): update OCIRepository handling to extract tag-only refs with YAML aliases
43.216.2
2026-06-08 19:22:12 +00:00
renovate[bot] 527c3dfb15 chore(deps): update linters to v1.68.0 (main) (#43883)
chore(deps): update linters to v1.68.0

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | oxlint  | 1.67.0 | 1.68.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 17:32:22 +00:00
renovate[bot] 5e6b309cc9 chore(deps): update dependency tar to v7.5.16 (main) (#43880)
chore(deps): update dependency tar to v7.5.16

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | tar     | 7.5.15 | 7.5.16 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 16:33:03 +00:00
Sebastian Poxhofer b632d27cdd ci(agents): extend AGENTS.md and add Claude hooks (#43470)
* ci: add agent instructions and ClaudeCode hooks

* refactor: rename start-check and use schemas

* fix: remove redundant flow diagram

* refactor: add block utility

* docs: add reference to development documentation

* ci: add pretooluse hook

* test: remove unnecessary schema tests

* ci: add --all flag run fixer and linters in a single command

* ci: switch stop hook to `pnpm check --all`

* refactor: use simple git

* refactor: use zod/v4

* ci: prevent usages of pnpm vitest

* ci: add must read and code example for codeBlock

* fixup! simplegit by allowing user pagers and editors

* ci(agent hooks): run installs on worktree changes

* docs: shorten description

* chore: remove additional new line at the end

* explicitly fail if parsing fails

* fix: rename to kebabcase

* docs: reduce commands highlighted for local dev
2026-06-08 13:56:15 +00:00
Sebastian Poxhofer d23bef9637 refactor(schema-utils): add DeepNullish and use it for conda pypi (#43877)
* refactor(schema-utils): add DeepNullish and use it for conda pypi

* docs: add some docs for zod usage
2026-06-08 13:52:58 +00:00
Jan-Otto Kröpke bb147e0414 fix(config/presets): Exclude docker.io/kindest/node from nodejs versioning (#43772)
* fix(lib): Exclude docker.io/kindest/node from nodejs versioning

* Update group.preset.ts
43.216.1
2026-06-08 13:33:38 +00:00
Martijn van der Meij 5e1f88afc6 fix(npm): use packageName for pnpm overrides with range selectors in minimumReleaseAgeExclude (#43477)
* fix(npm): use packageName for pnpm overrides with range selectors in minimumReleaseAgeExclude

For pnpm.overrides entries with version range selectors (e.g. "pkg@<=1.0.0"),
depName contains the full override key including the selector, which is needed
to correctly update package.json. However this caused invalid entries in
minimumReleaseAgeExclude like "fast-xml-parser@<=5.3.5@5.5.7" instead of
"fast-xml-parser@5.5.7", breaking pnpm install with ERR_PNPM_INVALID_MINIMUM_RELEASE_AGE_EXCLUDE.

Fix by using packageName (bare npm package name parsed by @pnpm/parse-overrides)
instead of depName when constructing minimumReleaseAgeExclude entries. Falls back
to depName for dependency types where packageName is not set.

Made-with: Cursor

* test(npm): format pnpm override minimumReleaseAgeExclude test

Use codeBlock helper for expected pnpm-workspace.yaml contents per review.

* test(npm): avoid string concat in shrinkwrap exclude test

Use template literal instead of + to satisfy restrict-plus-operands.

* fix(npm): replace malformed minimumReleaseAgeExclude entries

Skip invalid package@version lines (extra @ after package prefix) when
matching excludes, and replace them instead of appending versions.

* test(npm): cover valid vs malformed exclude matching

* Update lib/modules/manager/npm/artifacts.spec.ts

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>

* Update lib/modules/manager/npm/artifacts.spec.ts

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>

* test(npm): use codeBlock for expected workspace contents

* fix(npm): remove stale malformed minimumReleaseAgeExclude entries

When a valid exclude entry exists for the same package, drop leftover
malformed lines from the prior double-@ bug instead of leaving them.

* test(npm): avoid string concat in codeBlock expectations

Use template literal instead of + '\n' for prefer-template.

---------

Co-authored-by: Tapio Oikarinen <tapio.oikarinen@hoxhunt.com>
Co-authored-by: Martijn van der Meij <Squixx@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-06-08 13:27:08 +00:00
Tinus Mørch Abell 2abd139cd2 feat(platform/github): support gitUrl option on github (#43531)
* feat(config): add github to gitUrl supportedPlatforms

Declare GitHub as a supported platform for the gitUrl option so users
can configure ssh/endpoint URL resolution on github.com and GHES.

Wiring in the github platform module follows in subsequent commits.

Refs: renovatebot/renovate#43086

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

* feat(platform/github): fetch sshUrl from repoInfoQuery

Add sshUrl to the GraphQL repository query and to the GhRepo type so
the platform can resolve SSH-based git remotes. Typed as nullable
to match the gitlab pattern and to allow a missing-field error path.

Refs: renovatebot/renovate#43086

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

* feat(platform/github): add getRepoUrl helper

Introduce a getRepoUrl helper that returns the repository git URL based
on the gitUrl option:
- 'ssh' uses the sshUrl from the GraphQL repo response; throws
  CONFIG_GIT_URL_UNAVAILABLE if not available
- 'default' and 'endpoint' build an https URL from the configured
  endpoint with credentials embedded (current behavior)

The helper is unused in this commit; initRepo wiring follows.

Refs: renovatebot/renovate#43086

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

* feat(platform/github): support gitUrl in initRepo

Destructure gitUrl from RepoParams and replace the inline URL
construction with getRepoUrl calls. The working URL uses the fork's
ssh_url when running in fork mode, otherwise the GraphQL repo.sshUrl.
The upstream URL (used when forkCreation and a parentRepo is set)
uses repo.sshUrl, which is the parent's URL because the GraphQL
query runs before the fork swap.

GhRestRepo gains an ssh_url field so findFork/createFork responses
can carry the fork's SSH URL forward.

Refs: renovatebot/renovate#43086

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

* test(platform/github): cover gitUrl branches

Add unit tests for getRepoUrl in utils.spec.ts and three integration
tests in index.spec.ts that exercise initRepo with gitUrl=ssh:

- ssh URL is forwarded to git.initRepo
- missing sshUrl with gitUrl=ssh throws CONFIG_GIT_URL_UNAVAILABLE
- fork mode uses the fork's ssh_url for url and the parent's sshUrl
  for upstreamUrl

initRepoMock and forkInitRepoMock now include sshUrl in the GraphQL
response so existing tests continue to populate the field that the
new code path reads.

Refs: renovatebot/renovate#43086

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

* docs: note github-specific gitUrl behavior

Document that 'default' and 'endpoint' produce the same URL on GitHub,
that 'ssh' uses the repository's sshUrl, and that fork mode propagates
SSH selection to both the working URL and the upstream URL.

Refs: renovatebot/renovate#43086

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

* refactor(platform/github): pass parsed URL to getRepoUrl

Accept a pre-parsed URL in getRepoUrl instead of re-parsing the
endpoint string inside the helper. The endpoint is validated during
initPlatform so the helper no longer needs its own null check. The
caller now parses once and passes the URL to both initRepo call
sites; the helper clones it before mutating.

Also assert config.repository as non-null at the initRepo call site,
fixing the TS2345 error reported by the lint-other job.

* Update docs/usage/self-hosted-configuration.md

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
43.216.0
2026-06-08 11:51:46 +00:00
github-actions[bot] e065ed5da8 feat(data): automatic update of static data (#43847)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
43.215.0
2026-06-08 11:43:29 +00:00
renovate[bot] 9f9028eab9 chore(deps): update dependency vite to v8.0.16 (main) (#43872)
chore(deps): update dependency vite to v8.0.16

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | vite    | 8.0.15 | 8.0.16 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 10:33:02 +00:00
renovate[bot] 5667e529ca chore(deps): update vitest monorepo to v4.1.8 (main) (#43869)
chore(deps): update vitest monorepo to v4.1.8

| datasource | package             | from  | to    |
| ---------- | ------------------- | ----- | ----- |
| npm        | @vitest/coverage-v8 | 4.1.7 | 4.1.8 |
| npm        | vitest              | 4.1.7 | 4.1.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 08:34:50 +00:00
renovate[bot] df314e0904 chore(deps): update dependency vite to v8.0.15 (main) (#43866)
chore(deps): update dependency vite to v8.0.15

| datasource | package | from   | to     |
| ---------- | ------- | ------ | ------ |
| npm        | vite    | 8.0.14 | 8.0.15 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 04:29:45 +00:00
renovate[bot] 51429fe8c2 chore(deps): lock file maintenance (main) (#43864)
chore(deps): lock file maintenance

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.214.6
2026-06-08 03:29:55 +00:00
renovate[bot] 778b05c5d7 fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.8 (main) (#43863)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.8

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.56.7 | 13.56.8 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 03:28:26 +00:00
renovate[bot] 1632a28ed8 docs: update references to renovate/renovate (main) (#43862)
docs: update references to renovate/renovate

| datasource | package           | from     | to       |
| ---------- | ----------------- | -------- | -------- |
| docker     | renovate/renovate | 43.195.2 | 43.214.5 |
| docker     | renovate/renovate | 43.195   | 43.214   |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 02:33:56 +00:00
renovate[bot] bf7974e355 docs: update references to prom/prometheus to v3.12.0 (main) (#43861)
docs: update references to prom/prometheus to v3.12.0

| datasource | package         | from    | to      |
| ---------- | --------------- | ------- | ------- |
| docker     | prom/prometheus | v3.11.3 | v3.12.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 02:29:16 +00:00
renovate[bot] c185b682b2 docs: update references to otel/opentelemetry-collector-contrib to v0.153.0 (main) (#43860)
docs: update references to otel/opentelemetry-collector-contrib to v0.153.0

| datasource | package                              | from    | to      |
| ---------- | ------------------------------------ | ------- | ------- |
| docker     | otel/opentelemetry-collector-contrib | 0.152.1 | 0.153.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 01:30:13 +00:00
renovate[bot] 8032593557 chore(deps): update containerbase/internal-tools action to v4.6.42 (main) (#43859)
chore(deps): update containerbase/internal-tools action to v4.6.42

| datasource  | package                      | from    | to      |
| ----------- | ---------------------------- | ------- | ------- |
| github-tags | containerbase/internal-tools | v4.6.41 | v4.6.42 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 01:29:12 +00:00
renovate[bot] e96b0289a1 docs: update references to jaegertracing/jaeger to v2.19.0 (main) (#43858)
docs: update references to jaegertracing/jaeger to v2.19.0

| datasource | package              | from   | to     |
| ---------- | -------------------- | ------ | ------ |
| docker     | jaegertracing/jaeger | 2.18.0 | 2.19.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 00:32:13 +00:00
renovate[bot] 813132441d docs: update references to astral-sh/setup-uv to v8.2.0 (main) (#43857)
docs: update references to astral-sh/setup-uv to v8.2.0

| datasource  | package            | from   | to     |
| ----------- | ------------------ | ------ | ------ |
| github-tags | astral-sh/setup-uv | v8.1.0 | v8.2.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-08 00:26:59 +00:00
renovate[bot] 9bac78590b fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.7 (main) (#43856)
fix(deps): update ghcr.io/renovatebot/base-image docker tag to v13.56.7

| datasource | package                        | from    | to      |
| ---------- | ------------------------------ | ------- | ------- |
| docker     | ghcr.io/renovatebot/base-image | 13.56.6 | 13.56.7 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
43.214.5
2026-06-07 21:27:19 +00:00
renovate[bot] 251e67f3b6 chore(deps): update dependency type-fest to v5.7.0 (main) (#43855)
chore(deps): update dependency type-fest to v5.7.0

| datasource | package   | from  | to    |
| ---------- | --------- | ----- | ----- |
| npm        | type-fest | 5.6.0 | 5.7.0 |

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 20:32:31 +00:00