Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(nix): rework to work with all flake inputs #31921

Merged
merged 62 commits into from
Jan 31, 2025

Conversation

SuperSandro2000
Copy link
Contributor

@SuperSandro2000 SuperSandro2000 commented Oct 11, 2024

Changes

Before nix flakes where only updated if a github:nixos/nixpkgs input was used. Now all flake inputs are treated like a dependency and updated.

Context

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please select one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added/modified unit tests, or
  • No unit tests but ran on a real repository, or
  • Both unit tests + ran on a real repository

@SuperSandro2000 SuperSandro2000 marked this pull request as ready for review October 11, 2024 16:52
@viceice viceice added the breaking Breaking change, requires major version bump label Oct 12, 2024
@SuperSandro2000
Copy link
Contributor Author

I am not sure if this is really breaking. Before updating flake locks just didn't really work and wasn't doing what people would expect.

@SuperSandro2000
Copy link
Contributor Author

❌ Error: More files have been added to '__fixtures__' directories than deleted.

I don't really have an idea how to test the lockfiles other than using fixtures.

@rarkins
Copy link
Collaborator

rarkins commented Oct 17, 2024

❌ Error: More files have been added to '__fixtures__' directories than deleted.

I don't really have an idea how to test the lockfiles other than using fixtures.

This is a valid use when lockfiles are long, we can ignore this test and merge anyway.

@viceice
Copy link
Member

viceice commented Jan 24, 2025

Please verify on forks of these repos that the new implementation works as intended:

The current implementation fails on the first repo.

@viceice
Copy link
Member

viceice commented Jan 24, 2025

you can easily find more repos for tersting https://github.com/search?q=nixpkgs.url+path%3Aflake.nix&type=code

@SuperSandro2000
Copy link
Contributor Author

The current implementation fails on the first repo.

It no longer bumps nixpkgs-21.11 to nixpkgs-24.11 as I already described multiple times before. I lack the typescript knowledge to implement support for both updating this and general lock file updates. After bumping that manual once SuperSandro2000/31921-nix-rework@6b394af this PR is created which is the intended feature SuperSandro2000/31921-nix-rework#1

@ojsef39
Copy link

ojsef39 commented Jan 25, 2025

you can easily find more repos for tersting https://github.com/search?q=nixpkgs.url+path%3Aflake.nix&type=code

Im adding mine to the list since my config is bit weird and gets all its inputs from a base config im not expecting it to work but would be cool:

https://github.com/ojsef39/nix-personal

@SuperSandro2000
Copy link
Contributor Author

Below tests where run with 5b12fed (#31921)

Im adding mine to the list since my config is bit weird and gets all its inputs from a base config im not expecting it to work but would be cool:

ojsef39/nix-personal

SuperSandro2000/nix-personal#1

renovate-reproductions/31921-nix-rework

https://github.com/SuperSandro2000/31921-nix-rework/pull/1/files

Simon-Boyer/nixos-config

That repo has no renovate config.

you can easily find more repos for tersting github.com/search?q=nixpkgs.url+path%3Aflake.nix&type=code

I have testing repos myself (NuschtOS/nixos-modules#130 NuschtOS/search#97) where I created PRs in the past and I have the latest version of this branched deployed to my renovate instance.

@elikoga
Copy link

elikoga commented Jan 27, 2025

The current implementation fails on the first repo.

It no longer bumps nixpkgs-21.11 to nixpkgs-24.11 as I already described multiple times before. I lack the typescript knowledge to implement support for both updating this and general lock file updates. After bumping that manual once SuperSandro2000/31921-nix-rework@6b394af this PR is created which is the intended feature SuperSandro2000/31921-nix-rework#1

I think there's a bit of confusion here. The existing manager is a nixpkgs manager that has domain-knowledge of github:nixos/nixpkgs release channels (structure and versioning scheme) and makes the potentially breaking change for you. Additionally (as a feature) it updates the flake lockfile so that this is a complete integration.

We additionally need a nix integration that updates flake.lock in general, which this PR tackles as far as I can see.

I believe that we need to preserve both behaviors and distinguish that these are two different managers.

@SuperSandro2000 is my assessment correct or am I missing something

@elikoga
Copy link

elikoga commented Jan 27, 2025

See this discussion and line change.

https://github.com/renovatebot/renovate/pull/31921/files#diff-ba688fc899a85e87e072cb5408f08fa6a579a14f608d75da4f711fc02505fa8aL12-R12

I think there is one obvious change. Change the docs to reflect this. Renovate has a nixpkgs manager, for the nix ecosystem. Renovate does not have a flake.lock manager. I think I'll try a PR sometime.

@SuperSandro2000
Copy link
Contributor Author

I believe that we need to preserve both behaviors and distinguish that these are two different managers.

In the current form the PR does both. I quickly added the old behaviour back after realizing that I can just append the list with the old logic.

I don't really want to split them in two managers at this point 😅

@h0nIg
Copy link

h0nIg commented Jan 30, 2025

i don't see a need to split the manager as well. With the old and new behaviour, the "breaking" label can get removed?

@elikoga
Copy link

elikoga commented Jan 30, 2025

In the current form the PR does both. I quickly added the old behaviour back after realizing that I can just append the list with the old logic.

Seems like I missed that. I'm looking forward to when it's merged then! 🤞

Copy link
Member

@viceice viceice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thankyou for being patient and react on my concerns. so now we've a non breaking feature 🎉

@viceice viceice removed the breaking Breaking change, requires major version bump label Jan 31, 2025
@viceice viceice changed the title feat(nix)!: rework to work with all flake inputs feat(nix): rework to work with all flake inputs Jan 31, 2025
@viceice viceice added this pull request to the merge queue Jan 31, 2025
Merged via the queue into renovatebot:main with commit 441a30f Jan 31, 2025
39 checks passed
@renovate-release
Copy link
Collaborator

🎉 This PR is included in version 39.147.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

ivankatliarchuk added a commit to ivankatliarchuk/renovate that referenced this pull request Jan 31, 2025
* main:
  docs(versioning): fix types and tests (renovatebot#33958)
  feat(gitlab): add branch status check attemps (renovatebot#32692)
  feat(versioning): aws-eks-addon versioning added (renovatebot#33301)
  feat(nix): rework to work with all flake inputs (renovatebot#31921)
  fix(deps): update dependency mkdocs-material to v9.6.1 (renovatebot#33956)
  fix(deps): update dependency mkdocs-material to v9.6.0 (renovatebot#33955)
  fix(deps): update ghcr.io/renovatebot/base-image docker tag to v9.38.3 (renovatebot#33954)
  fix(deps): update ghcr.io/renovatebot/base-image docker tag to v9.38.2 (renovatebot#33953)
  feat(logger): Add `withMeta` helper (renovatebot#33948)
  feat(schema): Add logging utilities for catch calls (renovatebot#33950)
@SuperSandro2000 SuperSandro2000 deleted the rework-nix branch January 31, 2025 10:48
@SuperSandro2000
Copy link
Contributor Author

I think we overlooked something before merging....

DEBUG: currentDigest not found in string to replace (repository=NuschtOS/ixx, branch=renovate/flake-inputs)
       "stringToReplace": "nixos-unstable",
       "currentDigest": "5df43628fdf08d642be8ba5b3625a6c70731c19c"
DEBUG: Starting search at index 55 (repository=NuschtOS/ixx, packageFile=flake.nix, branch=renovate/flake-inputs)
       "depName": "nixpkgs"
DEBUG: Found match at index 55 (repository=NuschtOS/ixx, packageFile=flake.nix, branch=renovate/flake-inputs)
       "depName": "nixpkgs"
DEBUG: Digest is not updated (repository=NuschtOS/ixx, packageFile=flake.nix, branch=renovate/flake-inputs)
       "depName": "nixpkgs",
       "manager": "nix",
       "expectedValue": "9d3ae807ebd2981d593cddd0080856873139aa40",
       "foundValue": "5df43628fdf08d642be8ba5b3625a6c70731c19c"
 WARN: Error updating branch: update failure (repository=NuschtOS/ixx, branch=renovate/flake-inputs)
DEBUG: syncBranchState() (repository=NuschtOS/ixx, branch=renovate/crates)

which results in a problem: stringToReplace is not looking into the flake.lock and also nix is never run ... 🫠

@SuperSandro2000
Copy link
Contributor Author

Should be fixed in #33991

DennisRasey pushed a commit to DennisRasey/forgejo that referenced this pull request Feb 3, 2025
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [data.forgejo.org/renovate/renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) | container | minor | `39.136.1` -> `39.156.1` |
| [renovate](https://renovatebot.com) ([source](https://github.com/renovatebot/renovate)) |  | minor | `39.136.1` -> `39.156.1` |

---

### Release Notes

<details>
<summary>renovatebot/renovate (data.forgejo.org/renovate/renovate)</summary>

### [`v39.156.1`](https://github.com/renovatebot/renovate/releases/tag/39.156.1)

[Compare Source](renovatebot/renovate@39.156.0...39.156.1)

##### Bug Fixes

-   **manager/jsonata:** populate extract result with manager config fields ([#&#8203;33992](renovatebot/renovate#33992)) ([77a5c15](renovatebot/renovate@77a5c15))

##### Documentation

-   fix typos in documentation ([#&#8203;33982](renovatebot/renovate#33982)) ([bfff982](renovatebot/renovate@bfff982))

##### Miscellaneous Chores

-   **deps:** update containerbase/internal-tools action to v3.5.22 ([#&#8203;33988](renovatebot/renovate#33988)) ([52ab2d8](renovatebot/renovate@52ab2d8))
-   **deps:** update dependency google-github-actions/auth to v2.1.8 ([#&#8203;33987](renovatebot/renovate#33987)) ([de8140d](renovatebot/renovate@de8140d))

### [`v39.156.0`](https://github.com/renovatebot/renovate/releases/tag/39.156.0)

[Compare Source](renovatebot/renovate@39.155.0...39.156.0)

##### Features

-   **autoreplace:** extended logging for autoreplace mismatches ([#&#8203;33984](renovatebot/renovate#33984)) ([a1c291c](renovatebot/renovate@a1c291c))

### [`v39.155.0`](https://github.com/renovatebot/renovate/releases/tag/39.155.0)

[Compare Source](renovatebot/renovate@39.154.0...39.155.0)

##### Features

-   **presets:** add `react-spectrum` monorepo ([#&#8203;33892](renovatebot/renovate#33892)) ([c25ffa5](renovatebot/renovate@c25ffa5))

### [`v39.154.0`](https://github.com/renovatebot/renovate/releases/tag/39.154.0)

[Compare Source](renovatebot/renovate@39.153.2...39.154.0)

##### Features

-   enhance libyear output ([#&#8203;33981](renovatebot/renovate#33981)) ([1386cf7](renovatebot/renovate@1386cf7))

### [`v39.153.2`](https://github.com/renovatebot/renovate/releases/tag/39.153.2)

[Compare Source](renovatebot/renovate@39.153.1...39.153.2)

##### Miscellaneous Chores

-   **documentation:** s/Forjeo/Forgejo/ ([#&#8203;33976](renovatebot/renovate#33976)) ([732f91b](renovatebot/renovate@732f91b))

##### Code Refactoring

-   **devbox:** Refactor schema and improve logging ([#&#8203;33978](renovatebot/renovate#33978)) ([19ae54f](renovatebot/renovate@19ae54f))

##### Tests

-   **logger:** Fix mock for `withMeta` function ([#&#8203;33979](renovatebot/renovate#33979)) ([0300c4e](renovatebot/renovate@0300c4e))

##### Build System

-   **deps:** update aws-sdk-js-v3 monorepo ([#&#8203;33980](renovatebot/renovate#33980)) ([35a56c7](renovatebot/renovate@35a56c7))

### [`v39.153.1`](https://github.com/renovatebot/renovate/releases/tag/39.153.1)

[Compare Source](renovatebot/renovate@39.153.0...39.153.1)

##### Build System

-   **deps:** update dependency google-auth-library to v9.15.1 ([#&#8203;33974](renovatebot/renovate#33974)) ([582c08b](renovatebot/renovate@582c08b))

### [`v39.153.0`](https://github.com/renovatebot/renovate/releases/tag/39.153.0)

[Compare Source](renovatebot/renovate@39.152.0...39.153.0)

##### Features

-   **jsonata:** support yaml ([#&#8203;33972](renovatebot/renovate#33972)) ([e63ff23](renovatebot/renovate@e63ff23))

### [`v39.152.0`](https://github.com/renovatebot/renovate/releases/tag/39.152.0)

[Compare Source](renovatebot/renovate@39.151.0...39.152.0)

##### Features

-   **presets:** Added `GRADLE_OPTS` to safe global env ([#&#8203;33968](renovatebot/renovate#33968)) ([9e51d42](renovatebot/renovate@9e51d42))

##### Code Refactoring

-   **process/libyear:** early return if no `releaseTimestamp` for current version ([#&#8203;33967](renovatebot/renovate#33967)) ([09b2c10](renovatebot/renovate@09b2c10))
-   **schema:** simplify handling ([#&#8203;33963](renovatebot/renovate#33963)) ([7583ecd](renovatebot/renovate@7583ecd))

### [`v39.151.0`](https://github.com/renovatebot/renovate/releases/tag/39.151.0)

[Compare Source](renovatebot/renovate@39.150.0...39.151.0)

##### Features

-   **manager:** add devbox manager module ([#&#8203;33638](renovatebot/renovate#33638)) ([62cb770](renovatebot/renovate@62cb770))

##### Code Refactoring

-   **workers:** move bump version to separate function ([#&#8203;33965](renovatebot/renovate#33965)) ([e82a22d](renovatebot/renovate@e82a22d))

### [`v39.150.0`](https://github.com/renovatebot/renovate/releases/tag/39.150.0)

[Compare Source](renovatebot/renovate@39.149.0...39.150.0)

##### Features

-   **preset:** Add monorepo preset for KSP ([#&#8203;33943](renovatebot/renovate#33943)) ([1b240a8](renovatebot/renovate@1b240a8))

### [`v39.149.0`](https://github.com/renovatebot/renovate/releases/tag/39.149.0)

[Compare Source](renovatebot/renovate@39.148.0...39.149.0)

##### Features

-   **cloudbuild:** Parse config using Zod schema ([#&#8203;33768](renovatebot/renovate#33768)) ([586d9fd](renovatebot/renovate@586d9fd))

##### Documentation

-   **versioning:** fix types and tests ([#&#8203;33958](renovatebot/renovate#33958)) ([7819d02](renovatebot/renovate@7819d02))

### [`v39.148.0`](https://github.com/renovatebot/renovate/releases/tag/39.148.0)

[Compare Source](renovatebot/renovate@39.147.0...39.148.0)

##### Features

-   **gitlab:** add branch status check attemps ([#&#8203;32692](renovatebot/renovate#32692)) ([78f389a](renovatebot/renovate@78f389a))
-   **versioning:** aws-eks-addon versioning added ([#&#8203;33301](renovatebot/renovate#33301)) ([476d11c](renovatebot/renovate@476d11c))

### [`v39.147.0`](https://github.com/renovatebot/renovate/releases/tag/39.147.0)

[Compare Source](renovatebot/renovate@39.146.4...39.147.0)

##### Features

-   **nix:** rework to work with all flake inputs ([#&#8203;31921](renovatebot/renovate#31921)) ([441a30f](renovatebot/renovate@441a30f))

### [`v39.146.4`](https://github.com/renovatebot/renovate/releases/tag/39.146.4)

[Compare Source](renovatebot/renovate@39.146.3...39.146.4)

##### Bug Fixes

-   **deps:** update dependency mkdocs-material to v9.6.1 ([#&#8203;33956](renovatebot/renovate#33956)) ([98ccb43](renovatebot/renovate@98ccb43))

### [`v39.146.3`](https://github.com/renovatebot/renovate/releases/tag/39.146.3)

[Compare Source](renovatebot/renovate@39.146.2...39.146.3)

##### Bug Fixes

-   **deps:** update dependency mkdocs-material to v9.6.0 ([#&#8203;33955](renovatebot/renovate#33955)) ([ba0bbbb](renovatebot/renovate@ba0bbbb))

### [`v39.146.2`](https://github.com/renovatebot/renovate/releases/tag/39.146.2)

[Compare Source](renovatebot/renovate@39.146.1...39.146.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.3 ([#&#8203;33954](renovatebot/renovate#33954)) ([1e6ebec](renovatebot/renovate@1e6ebec))

### [`v39.146.1`](https://github.com/renovatebot/renovate/releases/tag/39.146.1)

[Compare Source](renovatebot/renovate@39.146.0...39.146.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.2 ([#&#8203;33953](renovatebot/renovate#33953)) ([48ab56f](renovatebot/renovate@48ab56f))

### [`v39.146.0`](https://github.com/renovatebot/renovate/releases/tag/39.146.0)

[Compare Source](renovatebot/renovate@39.145.1...39.146.0)

##### Features

-   **logger:** Add `withMeta` helper ([#&#8203;33948](renovatebot/renovate#33948)) ([3053a9e](renovatebot/renovate@3053a9e))
-   **schema:** Add logging utilities for catch calls ([#&#8203;33950](renovatebot/renovate#33950)) ([23fa0bd](renovatebot/renovate@23fa0bd))

### [`v39.145.1`](https://github.com/renovatebot/renovate/releases/tag/39.145.1)

[Compare Source](renovatebot/renovate@39.145.0...39.145.1)

##### Bug Fixes

-   **presets:** match on devDependencies or dev for dev dependencies-related presets ([#&#8203;33909](renovatebot/renovate#33909)) ([545bf31](renovatebot/renovate@545bf31))

##### Miscellaneous Chores

-   correctly update missing labels issue ([#&#8203;33903](renovatebot/renovate#33903)) ([9338455](renovatebot/renovate@9338455))

### [`v39.145.0`](https://github.com/renovatebot/renovate/releases/tag/39.145.0)

[Compare Source](renovatebot/renovate@39.144.4...39.145.0)

##### Features

-   **bazel-module:** support `bazel_dep` dependencies without the `version` parameter ([#&#8203;33496](renovatebot/renovate#33496)) ([4ca76e4](renovatebot/renovate@4ca76e4))
-   **managers/custom:** generic manager for json files ([#&#8203;32784](renovatebot/renovate#32784)) ([fc8b8f9](renovatebot/renovate@fc8b8f9))
-   **presets:** add tailwindcss monorepo ([#&#8203;33940](renovatebot/renovate#33940)) ([3f88df2](renovatebot/renovate@3f88df2))

### [`v39.144.4`](https://github.com/renovatebot/renovate/releases/tag/39.144.4)

[Compare Source](renovatebot/renovate@39.144.3...39.144.4)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.1 ([#&#8203;33936](renovatebot/renovate#33936)) ([a3f4098](renovatebot/renovate@a3f4098))

### [`v39.144.3`](https://github.com/renovatebot/renovate/releases/tag/39.144.3)

[Compare Source](renovatebot/renovate@39.144.2...39.144.3)

##### Bug Fixes

-   only replace prefix with registry alias ([#&#8203;33922](renovatebot/renovate#33922)) ([5ffd464](renovatebot/renovate@5ffd464))

### [`v39.144.2`](https://github.com/renovatebot/renovate/releases/tag/39.144.2)

[Compare Source](renovatebot/renovate@39.144.1...39.144.2)

##### Bug Fixes

-   **manager/custom:** Support range strategy with custom managers ([#&#8203;33800](renovatebot/renovate#33800)) ([7f3b76b](renovatebot/renovate@7f3b76b))

### [`v39.144.1`](https://github.com/renovatebot/renovate/releases/tag/39.144.1)

[Compare Source](renovatebot/renovate@39.144.0...39.144.1)

##### Bug Fixes

-   **manager:** retain `depName` when using `registryAliases` ([#&#8203;33911](renovatebot/renovate#33911)) ([bf5ce6c](renovatebot/renovate@bf5ce6c))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;types/node](https://github.com/types/node) to v22.10.9 ([#&#8203;33932](renovatebot/renovate#33932)) ([f072cbe](renovatebot/renovate@f072cbe))

### [`v39.144.0`](https://github.com/renovatebot/renovate/releases/tag/39.144.0)

[Compare Source](renovatebot/renovate@39.143.0...39.144.0)

##### Features

-   **manager/maven:** Add replacement support ([#&#8203;32635](renovatebot/renovate#32635)) ([89b12fa](renovatebot/renovate@89b12fa))

##### Documentation

-   **unity3d:** fix broken documentation link ([#&#8203;33927](renovatebot/renovate#33927)) ([917ac1d](renovatebot/renovate@917ac1d))

### [`v39.143.0`](https://github.com/renovatebot/renovate/releases/tag/39.143.0)

[Compare Source](renovatebot/renovate@39.142.0...39.143.0)

##### Features

-   **presets/workaround:** ubuntuDockerVersioning ([#&#8203;33714](renovatebot/renovate#33714)) ([01e01a3](renovatebot/renovate@01e01a3))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;types/node](https://github.com/types/node) to v22.10.8 ([#&#8203;33928](renovatebot/renovate#33928)) ([f107b13](renovatebot/renovate@f107b13))

### [`v39.142.0`](https://github.com/renovatebot/renovate/releases/tag/39.142.0)

[Compare Source](renovatebot/renovate@39.141.0...39.142.0)

##### Features

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.38.0 ([#&#8203;33924](renovatebot/renovate#33924)) ([e78fb57](renovatebot/renovate@e78fb57))

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.8 ([#&#8203;33926](renovatebot/renovate#33926)) ([062e000](renovatebot/renovate@062e000))

### [`v39.141.0`](https://github.com/renovatebot/renovate/releases/tag/39.141.0)

[Compare Source](renovatebot/renovate@39.140.3...39.141.0)

##### Features

-   **gradle:** Single-version ranges ([#&#8203;33923](renovatebot/renovate#33923)) ([9acd663](renovatebot/renovate@9acd663))

### [`v39.140.3`](https://github.com/renovatebot/renovate/releases/tag/39.140.3)

[Compare Source](renovatebot/renovate@39.140.2...39.140.3)

##### Bug Fixes

-   **ansible:** don't override versioning ([#&#8203;33918](renovatebot/renovate#33918)) ([4032f20](renovatebot/renovate@4032f20))
-   **batec:** don't override versioning ([#&#8203;33919](renovatebot/renovate#33919)) ([d61ea8b](renovatebot/renovate@d61ea8b))

##### Code Refactoring

-   **manager:** always set package name from docker image extract ([#&#8203;33917](renovatebot/renovate#33917)) ([45bdc77](renovatebot/renovate@45bdc77))

### [`v39.140.2`](https://github.com/renovatebot/renovate/releases/tag/39.140.2)

[Compare Source](renovatebot/renovate@39.140.1...39.140.2)

##### Bug Fixes

-   **http:** allow overwriting default Renovate headers ([#&#8203;33907](renovatebot/renovate#33907)) ([c0af153](renovatebot/renovate@c0af153))
-   **manager/devcontainer:** allow trailing commans in jsonc files ([#&#8203;33913](renovatebot/renovate#33913)) ([8deab52](renovatebot/renovate@8deab52))
-   **nuget:** don't check children of `ContainerBaseImage` ([#&#8203;33910](renovatebot/renovate#33910)) ([cb38cb1](renovatebot/renovate@cb38cb1))

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.7 ([#&#8203;33908](renovatebot/renovate#33908)) ([beb5136](renovatebot/renovate@beb5136))

##### Build System

-   **deps:** update dependency graph-data-structure to v4.3.1 ([#&#8203;33912](renovatebot/renovate#33912)) ([60f8d3e](renovatebot/renovate@60f8d3e))

### [`v39.140.1`](https://github.com/renovatebot/renovate/releases/tag/39.140.1)

[Compare Source](renovatebot/renovate@39.140.0...39.140.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.3 ([#&#8203;33905](renovatebot/renovate#33905)) ([ff0af5f](renovatebot/renovate@ff0af5f))

### [`v39.140.0`](https://github.com/renovatebot/renovate/releases/tag/39.140.0)

[Compare Source](renovatebot/renovate@39.139.0...39.140.0)

##### Features

-   **datasource:** Add datasource for buildpack registry ([#&#8203;32721](renovatebot/renovate#32721)) ([d581af5](renovatebot/renovate@d581af5))

### [`v39.139.0`](https://github.com/renovatebot/renovate/releases/tag/39.139.0)

[Compare Source](renovatebot/renovate@39.138.2...39.139.0)

##### Features

-   **http:** Return stale cache on revalidation errors ([#&#8203;33852](renovatebot/renovate#33852)) ([c3814ab](renovatebot/renovate@c3814ab))

##### Miscellaneous Chores

-   **deps:** update dependency [@&#8203;swc/core](https://github.com/swc/core) to v1.10.9 ([#&#8203;33898](renovatebot/renovate#33898)) ([f97875f](renovatebot/renovate@f97875f))

### [`v39.138.2`](https://github.com/renovatebot/renovate/releases/tag/39.138.2)

[Compare Source](renovatebot/renovate@39.138.1...39.138.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.2 ([#&#8203;33895](renovatebot/renovate#33895)) ([95e3577](renovatebot/renovate@95e3577))

### [`v39.138.1`](https://github.com/renovatebot/renovate/releases/tag/39.138.1)

[Compare Source](renovatebot/renovate@39.138.0...39.138.1)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.1 ([#&#8203;33894](renovatebot/renovate#33894)) ([fa40e07](renovatebot/renovate@fa40e07))

### [`v39.138.0`](https://github.com/renovatebot/renovate/releases/tag/39.138.0)

[Compare Source](renovatebot/renovate@39.137.2...39.138.0)

##### Features

-   **managers/npm:** support pnpm catalogs ([#&#8203;33376](renovatebot/renovate#33376)) ([0f06866](renovatebot/renovate@0f06866))

##### Code Refactoring

-   **cache:** Utils to calculate soft and hard TTL ([#&#8203;33844](renovatebot/renovate#33844)) ([53fa8cc](renovatebot/renovate@53fa8cc))

### [`v39.137.2`](https://github.com/renovatebot/renovate/releases/tag/39.137.2)

[Compare Source](renovatebot/renovate@39.137.1...39.137.2)

##### Miscellaneous Chores

-   **deps:** update github/codeql-action action to v3.28.6 ([#&#8203;33886](renovatebot/renovate#33886)) ([1c5ebf8](renovatebot/renovate@1c5ebf8))
-   **deps:** update github/codeql-action digest to [`17a820b`](renovatebot/renovate@17a820b) ([#&#8203;33887](renovatebot/renovate#33887)) ([571614b](renovatebot/renovate@571614b))

##### Build System

-   **deps:** update dependency commander to v13.1.0 ([#&#8203;33891](renovatebot/renovate#33891)) ([59e1e89](renovatebot/renovate@59e1e89))

### [`v39.137.1`](https://github.com/renovatebot/renovate/releases/tag/39.137.1)

[Compare Source](renovatebot/renovate@39.137.0...39.137.1)

##### Bug Fixes

-   **gradle:** Accept versions with trailing separators as valid ([#&#8203;33884](renovatebot/renovate#33884)) ([563cdab](renovatebot/renovate@563cdab))

##### Tests

-   **gradle:** Use describe blocks for versioning tests ([#&#8203;33882](renovatebot/renovate#33882)) ([6be155d](renovatebot/renovate@6be155d))

### [`v39.137.0`](https://github.com/renovatebot/renovate/releases/tag/39.137.0)

[Compare Source](renovatebot/renovate@39.136.2...39.137.0)

##### Features

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.37.0 ([#&#8203;33881](renovatebot/renovate#33881)) ([9d72c37](renovatebot/renovate@9d72c37))

##### Miscellaneous Chores

-   **label-actions:** no-merge-from-main ([#&#8203;33875](renovatebot/renovate#33875)) ([00c266b](renovatebot/renovate@00c266b))

### [`v39.136.2`](https://github.com/renovatebot/renovate/releases/tag/39.136.2)

[Compare Source](renovatebot/renovate@39.136.1...39.136.2)

##### Bug Fixes

-   **deps:** update ghcr.io/renovatebot/base-image docker tag to v9.36.8 ([#&#8203;33878](renovatebot/renovate#33878)) ([64551ec](renovatebot/renovate@64551ec))

##### Miscellaneous Chores

-   **deps:** update dependency type-fest to v4.33.0 ([#&#8203;33879](renovatebot/renovate#33879)) ([d6bda9f](renovatebot/renovate@d6bda9f))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "* 0-3 * * 1" (UTC), Automerge - "* 0-3 * * *" (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMzYuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEzNi4xIiwidGFyZ2V0QnJhbmNoIjoiZm9yZ2VqbyIsImxhYmVscyI6WyJkZXBlbmRlbmN5LXVwZ3JhZGUiLCJmb3JnZWpvL2NpIiwidGVzdC9ub3QtbmVlZGVkIl19-->

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6767
Reviewed-by: Earl Warren <[email protected]>
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.