Commit Graph

3913 Commits

Author SHA1 Message Date
Dmytro Shteflyuk 9175699b66 fix(datasource/rpm): accept repomd.xml without xml declaration (#41850) 2026-03-12 15:14:35 +00:00
Jamie Tanna e0ce9dabd6 docs: prefix child options with their parent (#41828)
This also makes sure that our URL fragments should be more consistent
over the years, as duplicate names (across parent and child options)
cannot clash.

This also corrects links from the code to include the new fragment.

Co-authored-by: Claude Sonnet 4.6 <jamie.tanna+claude-code@mend.io>
2026-03-12 10:56:52 +00:00
Justin Rabiller 5429e7c6f9 fix(mise): use semver-partial versioning for short java versions (#41179)
* fix: preserve vendor prefixes in mise manager version updates

* test: cover kafka fallback path for 100% coverage

* test(mise): add failing tests for short java version versioning

Bare major versions like java = "21" or temurin-21 should use
semver-partial versioning to prevent invalid update proposals.
Full versions like "21.0.2" should keep the default versioning.

* fix(mise): use semver-partial versioning for short java versions

Short java versions (bare major like "21" or major.minor like "21.0")
now use semver-partial versioning, which treats them as ranges and
preserves precision in updates (e.g. "21" → "22" on major bump).

This replaces the replaceString/autoReplaceStringTemplate approach
with a versioning-based fix as suggested in discussion #41159.
Full versions (e.g. "21.0.2") keep the default semver-coerced
versioning unchanged.

* test(mise): remove unrelated kafka test

* refactor(mise): inline regex in shortJavaVersioning

* refactor(mise): return empty object instead of undefined

* refactor: use it.each to reduce duplication

* refactor: hardcode semver-partial in it.each test
2026-03-12 08:27:53 +00:00
Michael Kriese a065a3dd41 fix(datasource/docker): use custom www-authenticate parser (#41813)
* fix(datasource/docker): use custom `www-authenticate` parser

* chore: drop license comments

* test: extend test

* fix: wrong regex

* test: fix tests

* Update lib/util/http/www-authenticate.ts

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>

* test: add more tests

---------

Co-authored-by: Jamie Tanna <jamie.tanna@mend.io>
2026-03-11 16:48:15 +00:00
Johannes Feichtner c06b551b6c feat(gradle): add support for short dependency notation in version catalogs (#41797) 2026-03-11 13:12:51 +00:00
Gabriel Féo 643b052ffe docs: mention XML namespaces in maven docs (#40205)
* docs: mention XML namespaces in `maven` docs

* Inline links

* Re-join new sentence with first paragraph

* Update lib/modules/manager/maven/readme.md

Co-authored-by: Anne Stellingwerf <1637358+astellingwerf@users.noreply.github.com>

* Update lib/modules/manager/maven/readme.md

Co-authored-by: Anne Stellingwerf <1637358+astellingwerf@users.noreply.github.com>

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Anne Stellingwerf <1637358+astellingwerf@users.noreply.github.com>
2026-03-11 08:36:34 +00:00
Michael Kriese b35d7c9cad chore(tools): use async execa (#41712)
* chore(tools): use async execa

* chore: fix lint errors
2026-03-10 16:55:44 +00:00
Michael Miller f2dcc1a388 feat(manager/mise): add support for gh (#41336)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 13:07:05 +00:00
Jamie Tanna 6061757b88 refactor(manager/npm): remove duplicate ArtifactError type (#41779) 2026-03-10 13:06:03 +00:00
Jamie Tanna 2d1e57532f refactor(types): rename lockFile to fileName in ArtifactError (#41631)
As `fileName` makes more sense (as it's not always a lock file we're
updating).

Also, if you set `fileName`, it would never actually output the
filename.

This renames the usages of `lockFile` to `fileName`.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-03-10 09:57:31 +00:00
Clément Guillot eb255744d4 feat(bazel-module): add Crate dependency extraction (#40393)
* feat(bazel-module): add Crate dependency extraction

* feat(bazel-module): use `crate` versioning when building package dependencies

* feat(bazel-module): use `crate` versioning when building package dependencies

* feat(bazel-module): fix zod import path

* feat(bazel-module): remove explicit `versioning`
2026-03-09 13:18:09 +00:00
swiftty e9297edca6 feat(swift): add support for Package.swift traits argument (#41563)
* test: add test cases

* fix(swift): fix for the handling of the `traits` argument

* chore: use codeBlock tag

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

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-03-09 13:05:34 +00:00
Mike Barry 3b9fbc1d02 fix(copier): allow git+ and ssh+ for copier (#41725)
* Fix git+ and ssh+ for copier

* Address PR review: use codeBlock and it.each in copier extract tests

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 12:57:41 +00:00
Sergei Zharinov 41bfb8678e refactor(lint): use oxlint for type-aware rules (#41739)
* feat: enable oxlint type-aware linting

Move type-aware typescript-eslint rules from ESLint to oxlint,
leveraging oxlint-tsgolint for type information. This removes
the need for ESLint's projectService and parserOptions.

- Add `options.typeAware: true` to .oxlintrc.json with all
  type-aware rules (recommendedTypeChecked + stylisticTypeChecked)
- Switch ESLint to non-type-aware configs (recommended, stylistic)
- Remove projectService/parserOptions from ESLint config
- Drop @typescript-eslint/naming-convention (no oxlint equivalent)
- Update oxlint/eslint-plugin-oxlint to 1.51.0
- Add oxlint-tsgolint dependency
- Convert eslint-disable comments to oxlint-disable for type-aware rules
- Fix prefer-optional-chain violations newly caught by oxlint

* fix: revert unnecessary code changes, suppress with oxlint-disable instead

* fix: suppress remaining prefer-optional-chain violations

* fix: suppress last prefer-optional-chain violation

* fix: remove redundant --type-aware CLI flag, use config instead
2026-03-09 12:51:12 +00:00
Justin Chang 1273806677 fix(cargo): skip --precise for range-bumped crates to avoid stale Cargo.lock errors (#41537)
* Fix cargo update with spec of old version

* Update comment
2026-03-09 12:43:26 +00:00
Johannes Feichtner 544fcfb120 fix(gradle): skip exclusiveContent registries if all filters are invalid or unsupported (#41742) 2026-03-09 10:14:06 +00:00
lehmanju 753fc46859 fix(crate): dont log warning if metadata fetch fails (#41601)
* fix(crate): dont log warning if metadata fetch fails

* use trace if just info
2026-03-07 20:57:30 +00:00
Jamie Tanna bc82cff059 feat(managers/npm): allow specifying toolSettings.nodeMaxMemory (#40957)
* feat(managers/npm): allow specifying `toolSettings.nodeMaxMemory`

As noted in #40942, we're seeing an increase in memory usage across
`pnpm` and `yarn` users in Mend-hosted apps.

To allow limiting the maximum memory that any `node` child processes
will use, we can add a new `toolSettings.nodeMaxMemory` to (hopefully)
mitigate this.

Similar to the `toolSettings.jvmMaxMemory`, the self-hosted
administrator can set a maximum, which cannot be exceeded by repo-level
configuration.

* fixup! feat(managers/npm): allow specifying `toolSettings.nodeMaxMemory`
2026-03-05 12:56:02 +00:00
Roger Coll ab409e951f fix(gomod): add -modfile flag for non-default go.mod filenames (#41640)
* fix(gomod): add -modfile flag for non-default go.mod filenames

When using managerFilePatterns to manage non-standard go.mod files
(e.g. tools.mod), the go commands (get, mod tidy, mod vendor) now
include the -modfile flag so they operate on the correct module file
instead of defaulting to go.mod in the working directory

* Update lib/modules/manager/gomod/artifacts.ts

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

* Update lib/modules/manager/gomod/artifacts.ts

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

* use string templates

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-03-05 11:53:42 +00:00
Trim21 71674b73bf feat(github-actions): support golangci-lint version defined in golangci-lint-action (#41632)
* feat: support golangci-lint version defined in golangci-lint-action

* feat: add golangci-lint-action to supported community actions
2026-03-03 18:02:01 +00:00
Punsoong Khut 1a3851dc99 feat(versioning): add APK versioning support (#40248)
* feat(versioning): add APK versioning support

* remove unreachable code

* improve test for partial coverage

* use capture groups for regex

* ignore patial coverage errors

* Update lib/modules/versioning/apk/index.ts

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

* Update lib/modules/versioning/apk/index.ts

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

* move regexes to module level for performance

* fix import

* fix imports 2

* address comments

* Update lib/modules/versioning/apk/readme.md

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

* fix oxlint error

---------

Co-authored-by: Jamie Tanna <github@jamietanna.co.uk>
2026-03-03 13:41:47 +00:00
Johannes Feichtner 4312453b6a fix(gradle): prevent 'registryUrl' token not found error while parsing Gradle files (#41600) 2026-03-02 16:50:14 +00:00
Satchi Z Davis 0b99aa135b fix(bazel): fixes parsing of urls in bazelrc files (#41598)
bazelrc spec supports surounding urls with quotes and this PR aligns
functionality to match spec
2026-03-02 16:05:33 +00:00
Sergei Zharinov b57fc5dd13 feat: enable vitest plugin in oxlint (#41579)
* chore: Add vitest plugin to oxlint

* Remove unused line in versioning spec

* Remove coverage threshold check job

The coverage threshold check has been removed from the build workflow. This job was redundant as
coverage is already handled by the codecov job.

* Refine versioning API schema with existence check

* Revert "Remove coverage threshold check job"

This reverts commit f2c9dd872b.

* Remove vitest ESLint plugin

The vitest ESLint plugin and its configurations have been removed. ESLint will no longer enforce
vitest-specific rules.

* Remove unused vitest eslint plugin

The `@vitest/eslint-plugin` is no longer used and can be safely removed.
2026-03-02 13:02:25 +00:00
renovate[bot] f344727e03 docs: update references to python to 6134653 (main) (#41577)
docs: update references to python to 6134653

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 00:34:57 +00:00
Florian Arens a79cddc4b9 fix(versioning/hex): handle Elixir == pin prefix in isSingleVersion (#41565)
* fix(versioning/hex): handle Elixir == pin prefix in isSingleVersion

Hex versioning inherited npm's isSingleVersion which only strips a single
= prefix. Elixir uses == for pinning, so "== 1.7.16" was not recognized
as a pinned version, causing duplicate pin PRs on every update.

Add isSingleVersion override that handles the double == prefix and add
getPinnedValue to emit the correct == prefix when pinning.

* fix: use non-null assertion instead of optional chaining in test
2026-03-01 14:42:39 +00:00
lehmanju 5ab5dfd768 fix(crate): respect config.json in indices (#41536)
* fix(crate): respect config.json in indices

* improve coverage

* improve coverage

* Apply suggestions from code review

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

* fixup

* fix import sorting

* further simplify, by merging clonepath/sparse variable

* use registryconfigschema in tests

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-03-01 14:16:54 +00:00
renovate[bot] c2aa761c1e chore(deps): update linters (main) (#41417)
* chore(deps): update linters

| datasource | package              | from   | to     |
| ---------- | -------------------- | ------ | ------ |
| npm        | @eslint/js           | 9.39.2 | 9.39.3 |
| npm        | eslint               | 9.39.2 | 9.39.3 |
| npm        | eslint-plugin-oxlint | 1.46.0 | 1.49.0 |
| npm        | oxlint               | 1.47.0 | 1.49.0 |
| npm        | typescript-eslint    | 8.55.0 | 8.56.0 |

* chore(deps): update linters

| datasource | package              | from   | to     |
| ---------- | -------------------- | ------ | ------ |
| npm        | @eslint/js           | 9.39.2 | 9.39.3 |
| npm        | eslint               | 9.39.2 | 9.39.3 |
| npm        | eslint-plugin-oxlint | 1.46.0 | 1.49.0 |
| npm        | oxlint               | 1.47.0 | 1.49.0 |
| npm        | typescript-eslint    | 8.55.0 | 8.56.0 |

* Radix rule has been deprecated

* fixup! Radix rule has been deprecated

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: secustor <sebastian@poxhofer.at>
2026-02-28 11:23:25 +00:00
Bartosz Dolewski 5cec680633 feat(swift): update Package.resolved when updating Package.swift (#41534)
* feat(swift): update Package.resolved when updating Package.swift

Add artifact support to the Swift Package Manager module so that
Package.resolved lockfiles are updated alongside Package.swift manifest
changes. Uses direct JSON modification (targeted regex replacement of
version and revision within each pin block) instead of requiring the
Swift toolchain, avoiding the need for a macOS runner or private repo
authentication.

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

* fix(swift): achieve 100% coverage for artifacts.ts

Add tests for missing datasource/packageName, missing pins array, and
getDigest exceptions. Mark three unreachable defensive guards with
istanbul ignore (valid JSON always has matching braces and identities).

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

* refactor(swift): address review feedback from viceice

- Inline test fixtures instead of using fixture files
- Remove unnecessary beforeEach/resetAllMocks
- Use PackageDependency and Upgrade types instead of inline type literals
- Add Zod schema for safe Package.resolved parsing
- Move PackageResolvedPin/PackageResolvedJson types to schema.ts
- Delete fixture files

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:01:54 +00:00
Florian Greinacher 21c011ad44 fix(gitlab): skip branch status when no pipeline found, retry after PR creation (#41130)
* fix(gitlab): skip branch status when no pipeline found, retry after PR creation

On GitLab with MR pipelines, posting a commit status without a
pipeline_id causes GitLab to create an unwanted branch pipeline.

Skip posting the status in setBranchStatus() when no pipeline is found
after retries. Retry setting branch statuses after ensurePr() in the
with-pr block so that the MR pipeline created by GitLab can be found.

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

* fix(gitlab): gate skip-status-without-pipeline behind experimental flag

Move the behavior that skips setting a branch status check when no
pipeline is found behind the RENOVATE_X_GITLAB_SKIP_STATUS_WITHOUT_PIPELINE
experimental environment variable. Without the flag, the original
behavior of always posting the status is preserved.

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

* test(gitlab): restore original 'sets branch status' test case

Keep the original test that verifies branch status is set without
the experimental flag alongside the new skip-behavior test.

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

* fix(docs): sort experimental env var headers alphabetically

Move RENOVATE_X_GITLAB_SKIP_STATUS_WITHOUT_PIPELINE after
RENOVATE_X_GITLAB_MERGE_REQUEST_DELAY to satisfy alphabetical
ordering requirement in self-hosted-experimental.md.

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

* fix(gitlab): address PR review comments for skip-status-without-pipeline

Use strict `=== 'true'` check for env var, update docs wording, and
add test coverage for the new experimental flag behavior.

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

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-27 16:45:46 +00:00
Sergei Zharinov 44a0755b3b feat(datasource/hex): Add V2 registry protocol support (#40983)
* feat: Add Hex V2 signature verification and public key caching

* feat: Improve Hex V2 coverage tests

* fix: Address PR review comments

* fix: Replace protobuf enum with const object for Node.js strip-only TS mode
2026-02-27 15:50:24 +00:00
Jamie Tanna b25102789e feat(gradle): set toolSettings' JVM limits when invoking ./gradlew (#41514)
As noted in #39559, we should also make it possible to use Renovate's
`toolSettings` to tune the Java Virtual Machine that's used to spawn
Gradle, via the Gradle Wrapper.

This will affect any `gradle` manager invocations, but will not apply to
`postUpgradeTasks`, as this is passed in as a parameter.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-26 17:40:59 +00:00
Sergei Zharinov 000c2f936b feat(github): Make PR cache sync max pages configurable (#41493) 2026-02-26 15:29:14 +00:00
Jamie Tanna 59de755283 fix(gomod): support local module paths in replace directives (#41520)
* fix(gomod): support non-public module paths in `replace` directives

As noted in #41518, we allow extracting `require` directives that
include a module path that's non-public, so we should also support this
for `replace` directives.

* fixup! fix(gomod): support non-public module paths in `replace` directives
2026-02-26 14:56:23 +00:00
Philipp Grathwohl ccd99d9119 feat(manager/cake): Support extracting nuget packages from InstallTools helper methods (#40070)
* Support InstallTools methods for cake build files

* Allow dotnet tool extraction in  single file cake sdk build scripts

* Fix dependency parsing for InstallTools methods

* Remove unused import

* Fix readme for cake manager

* Add test case to improve coverage

* Update lib/modules/manager/cake/index.ts

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

---------

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-02-26 13:48:02 +00:00
zT-1337 ddc46220b9 feat(platform): add support for the SCM-manager (#26866)
* - Added Renovate support for the [SCM-Manager](https://scm-manager.org/)
  - SCM-Manager is a repository management tool like GitHub
  - It is maintained as an open source project by the company [Cloudogu](https://cloudogu.com/en/)
- The SCM-Manager support is not feature complete yet, features like auto merging are still missing
- The SCM-Manager also got added to the documentation as another platform

author  Thomas Zerr <thomas.zerr@cloudogu.com> 1690877165 +0200
committer Eduard Heimbuch <eduard.heimbuch@cloudogu.com> 1706264263 +0100

* Reverted numbering change in markdown docs

* Changed from type to interface, if possible

* Removed axios dependency and using the http layer of renovate instead

* Fixed not using scmm specific mime types for accept header

* Use git from test/util instead

* Add dummy tests for no ops

* Fix some phrasing and spelling issues

* Change scmm to scm-manager and fix SCM-Manager specific content type

* Add supported major versions, review plugin requirement, write permissions is needed

* Change using actual host rules instead of mocking it

* Change use http mocks for testing

* Update docs/usage/getting-started/running.md

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/modules/platform/scm-manager/index.ts

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/modules/platform/scm-manager/mapper.spec.ts

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/modules/platform/scm-manager/readme.md

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/modules/platform/scm-manager/readme.md

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/modules/platform/scm-manager/readme.md

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/modules/platform/scm-manager/readme.md

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update lib/modules/platform/scm-manager/readme.md

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Fix scm-manager docs link

* Fix linting

* Fix linting

* Throw errors if username or token is not provided by the host rules

* Replace NO-OP with Not implemented

* Remove objects from log messages

* Fix linting

* Fix path to platform config options

* Fix link to self-host-configuration docs

* Fix link to self-host-configuration docs

* Remove the link to the platform config option, because the tests keep failing

* Fix link to self-host-configuration docs

* Remove not needed type cast

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

* Fix type check of protocol links

* Move scm-manager into util http folder

* Apply linting

* Add maxBodyLength function and its test

* Add test case if protocol links are not an array of links

* Use zod schema for pagination

* Apply linting

* Refactor typing with zod schema

* Fix test description

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Fix test description

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Fix test description

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Fix test description

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Update readme

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Add try catch around fetching the current user

* Switch log statement from info to debug

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

* Switch log statement from info to trace

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

* Switch log statement from debug to trace

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

* Switch log statement from info to trace

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

* Switch log statement from info to trace

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

* Switch log statement from info to trace

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

* Fix linting errors

* Remove credentials check in initRepo

* Fix imports

* Fix zod schema for repositories

* Fix zod schema for pull requests

* Fix 500 error after attempting to update an pr

* Fix wrong typing

* Refactor parameterized tests for better readability

* Refactor SCM HTTP API

* Add setToken functionality

* Remove not needed type definition

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

* Fix assertion

* Fix istanbul comment

* Change log statement

* Remove type rename

* Move inferred types close to corresponding schemas

* Add platform is experimental

* Remove type renaming

* Fix type imports

* Fix test suite description

* Remove debug log statement

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

* Fix warning

* Fix paremeterized unit tests with string templates

* Fix spelling

Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>

* Fix eslint error

* Convert trace logs to debug logs

* Convert info logs to debug

* Replace manual null and undefinded check with is util

* Rephrase instruction in readme

* Use ensureTrailingSlash instead

* Fix linting

* Keep type and schema together

* Simplify hasAssignees check

* Simplify reviewer mapping

* Remove istanbul comments

* Replace custom scmm header option with renovate native http headers option

* Let the token be passed in initPlatform

* Add description which permissions are needed

* Add support for ignorePrAuthor filter

* Add notes about automerge feature within platform readme

* Add support for fast_forward_only

* Change supported versions due to merge strategy change

* Remove commented code

* Fix import

* Use email schema

* Heed review advice

* Fix import and empty array assertions

* Fix linting issue

* Fix import errors

* Fix removed ignorePrAuthor parameter from initRepo function

* Fix failing unit tests by setting/reseting the global config

* Mark scm-manager as experimental

* Fix zod import path

* Change endpoint configuration, so that user only needs to define origin, but not also the path

* Fix warning of redundant backslash

---------

Co-authored-by: Eduard Heimbuch <eduard.heimbuch@cloudogu.com>
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: René Pfeuffer <rene@pfeuffer-web.de>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
2026-02-26 13:38:31 +00:00
Jamie Tanna 12ea4f2831 refactor(gradle): move gradleJvmArg to util/exec (#41511)
As this is the better place for this to be overall, and as well as
future changes that will need to pull it from a central location.
2026-02-26 13:35:21 +00:00
Jamie Tanna dcabd52332 fix(gomod): skip placeholder pseudo versions (#41521)
As a follow-up to #41517, when we have a placeholder pseudo version, we
attempt to look up updates for the module.

However, because these are handled by a `replace` directive, there's no
point attempting to look them up.

Especially, as noted in #41517, this could be a non-public module, so
the lookup will fail unnecessarily.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-26 13:33:17 +00:00
Tobias dda653f55a test(manager/gomod): use real hostRules implementation in tests (#41515)
chore(manager/gomod): use real hostRules implementation in tests
2026-02-26 12:37:28 +00:00
Johannes Feichtner 3eb6f5a31b feat(vulnerabilities): add support for github-actions vulnerability alerts (#40175)
* feat(vulnerabilities): add support for github-actions vulnerability alerts

* fix failed merge from main

* now for real

* review comments

* remove no longer needed assertion
2026-02-26 08:11:14 +00:00
Jamie Tanna 7a75ea87d2 chore(github): instrument the getPrCache method (#41490)
As part of efforts to improve the performance of the `getPrCache`
function, we can add additional instrumentation to understand the time
taken.

This adds additional insight through our instrumentation functions, for
those using OpenTelemetry, as well as a `durationMs` for our logs.
2026-02-25 22:09:35 +00:00
Jamie Tanna 2be6a7128e test(vendir): avoid hard-to-test branches (#41449)
* test(vendir): avoid hard-to-test branches

As a follow-up to #41443, where it's difficult to test this.

* fixup! test(vendir): avoid hard-to-test branches
2026-02-25 19:58:29 +00:00
Michael Kriese c5f0700e18 feat(terraform): extract provider registry url from lockfile (#41487) 2026-02-25 12:43:16 +00:00
Michael Kriese d0b7ca9d69 fix(terraform): respect provider registry from lockfile (#41484) 2026-02-25 12:13:46 +00:00
Sergei Zharinov 2fb68b9a20 fix(github): prevent PR cache sync from exhausting all pages (#41462)
* fix(github): prevent PR cache sync from exhausting all pages

* refactor(github): derive cutoff from cached items, simplify reconcile

- When lastModified is missing but items exist (via updateItem()),
  derive cutoff from max(item.updated_at) instead of falling back
  to reconcile's return value. Eliminates the fallback branch.
- reconcile() now called purely for side effects; return value ignored.
- MAX_SYNC_PAGES guard checks needNextPageSync (not needNextPageFetch)
  to avoid spurious warning when cutoff already stopped the loop.
- Add test for mixed pages (Renovate + non-Renovate PRs interleaved).
- Update derived-cutoff test for caches without lastModified.

* fix(github): advance PR cache watermark from unfiltered page

* fix(github): add comment clarifying MAX_SYNC_PAGES is a safety net
2026-02-25 10:16:52 +00:00
Hajime-san f990e7181e feat(versioning): add Deno versioning support (#40968)
* feat(versioning): add deno versioning

* chore(versioning): update deno versioning paths

* fix versioning

* c8 versiong

* review

* review

* Apply suggestions from code review

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

* review

---------

Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
2026-02-24 22:09:00 +00:00
Jamie Tanna d04b07f89b fix(gomod): support major version on replaces with the same Go module (#41359)
As noted in #41260, if a Go module is using a `replace` with both
modules with the same name, the major upgrade fails to produce a valid
`go.mod`, as the `replace` will still partially reference the old
package.
2026-02-24 22:05:13 +00:00
Jamie Tanna 3459222537 test(cargo): add missing assertion (#41457)
As it wasn't consistent with how many environment variables we were
checking.
2026-02-24 19:00:17 +00:00
Jamie Tanna fdde07c09d feat(vendir): convert Host Rules to Git authentication (#41458)
When using Vendir with Git repositories, we do not currently provide
authentication via Host Rules, which means we cannot access private
repositories.

Instead, we should set these, so they can be used by `vendir sync` to
authenticate to private repos.

Co-authored-by: Claude Sonnet 4.5 <jamie.tanna+github-copilot@mend.io>
2026-02-24 16:37:07 +00:00
Jamie Tanna 2eb1e1e706 chore(platforms): correct typo in "up-to-date" (#41460) 2026-02-24 16:13:17 +00:00