Merged
Conversation
e0cb708 to
ca1da00
Compare
kbukum1
previously approved these changes
Mar 20, 2026
The base class PackageLatestVersionFinder already handles cooldown filtering, ignored version filtering, and fallback behavior. Remove the redundant in_cooldown_period?, cooldown_days, and cooldown_enabled? overrides along with five unused requires.
Implement package_details so the parent class's available_versions, latest_version, latest_tag, etc. all work instead of returning nil. Remove the custom latest_tag override and version_list method that bypassed the parent pipeline (skipping yanked, unsupported, and prerelease filters). Override wants_prerelease? to return true since all Nix pseudo-versions have prerelease segments (0.0.0-0.N).
This was referenced Apr 7, 2026
1 task
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What are you trying to accomplish?
Add initial support for Nix flakes as a new Dependabot ecosystem, addressing #7340.
This parses
flake.lockto extract flake inputs as dependencies, checks upstream git refs for newer commits, and runsnix flake update <input>to produce updated lock files. The scope is limited to lock file updates (updating pinned refs insideflake.nixitself (e.g.github:cachix/devenv/v0.5tov0.6.2) is not included here, since that requires parsing Nix syntax).The implementation follows the git_submodules pattern: flake inputs are SHA-pinned git dependencies with no version ordering or dependency resolution graph.
Anything you want to highlight for special attention from reviewers?
locked.type/owner/repofields. We handlegithub,gitlab,sourcehut, andgittypes. We skippath,indirect,tarball, andfileinputs.flake.lockin Ruby because it containsnarHashvalues that only nix can compute. The Dockerfile pulls nix fromnixos/nixvia multi-stage build.GitCommitChecker: Update detection is a pure git ref lookup (no nix binary needed). This keeps the check phase fast.nix flake updatewill fail on private repos. Worth addressing in a follow-up.FileFetcherraises unlessallow_beta_ecosystems?is true, per convention for new ecosystems.How will you know you've accomplished your goal?
bin/dry-run.rb nix <repo-with-flake>against a real repo with an outdatedflake.lockproduces a correct update.Checklist