Bisecting: Difference between revisions

Klinger (talk | contribs)
Kiara (talk | contribs)
→‎nixpkgs: - reword bisect tools
Line 6: Line 6:


* directly bisect, say from the root of the nixpkgs repository run <code>git bisect start --first-parent master nixos-24.05 && git bisect run nix build -f . lolcat</code> if package <code>lolcat</code> broke since <code>nixos-24.05</code>. This uses [https://git-scm.com/docs/git-bisect#_bisect_run git bisect run] to run the test until the culprit is found, while the [https://git-scm.com/docs/git-bisect#Documentation/git-bisect.txt---first-parent <code>--first-parent</code>] flag selects merge commits, which in nixpkgs should be cached in Hydra.
* directly bisect, say from the root of the nixpkgs repository run <code>git bisect start --first-parent master nixos-24.05 && git bisect run nix build -f . lolcat</code> if package <code>lolcat</code> broke since <code>nixos-24.05</code>. This uses [https://git-scm.com/docs/git-bisect#_bisect_run git bisect run] to run the test until the culprit is found, while the [https://git-scm.com/docs/git-bisect#Documentation/git-bisect.txt---first-parent <code>--first-parent</code>] flag selects merge commits, which in nixpkgs should be cached in Hydra.
* [https://github.com/timokau/nix-bisect nix-bisect]: smartly pick <code>bisect bad/skip</code> in automated bisects and give nicer outputs
* [https://github.com/timokau/nix-bisect nix-bisect]: in automated bisects handle picking <code>bisect bad</code> / <code>bisect skip</code> and give nicer outputs
* [https://git.qyliss.net/hydrasect/about/ hydrasect]: prioritize cached commits in nixpkgs bisects - unfortunately still lacks nix package/flake
* [https://git.qyliss.net/hydrasect/about/ hydrasect]: prioritize hydra-cached commits, nixpkgs only. After each checkout run <code>git checkout $(hydrasect-search | head -1)</code>.
** after each checkout run <code>git checkout $(hydrasect-search | head -1)</code>
* [https://github.com/symphorien/nixpkgs-staging-bisecter nixpkgs-staging-bisecter]: reduce number of derivations to be built, <code>nix-build</code> only.
* [https://github.com/symphorien/nixpkgs-staging-bisecter nixpkgs-staging-bisecter]: like hydrasect but minimize how many derivations you will build even in staging


== Flakes ==
== Flakes ==