Upload the Hydra eval id for releases#8464
Conversation
This was apparently included in #8463 which was just merged |
|
Dependencies on Hydra (such as the eval ID) should be avoided, since Hydra is not intended as a release server (e.g. we could delete old evals at some point to clean up the database). I don't really object to recording the eval ID, but it's much better to store the actual data that we need (such as store paths) in the release. |
|
That's a fair point. However then it should at least not be a Nix-file that encodes this information, we shouldn't require a Nix to be able to evaluate such a file, it's just data. Considering the existing layout of releases.nixos.org, it would make more sense to have a separate fallback path file for each architecture, next to the architecture-specific files for the binary and their sha256. |
Motivation
Instead of Nix outputting Nixpkgs'
nix-fallback-paths.nixfile, requiring the person to do the release to commit it to Nixpkgs, have it upload a file containing the Hydra evaluation id.This has these advantages:
nix-fallback-paths.nixwithout having to change anything on the Nix sideContext
In NixOS/nixpkgs#233439 I wanted to update the stable Nix version in Nixpkgs, which apparently requires updating the
nix-fallback-paths.nix. In that PR, a user provided anix-fallback-paths.nixto use, but I had to jump through hoops to verify that those paths are actually correct.Because of this I opened NixOS/nixpkgs#235463 in order to automatically generate an up-to-date
nix-fallback-paths.nixin Nixpkgs. However that script needs the Hydra evaluation ID as an input to work. Unfortunately the Nix release script does not expose the evaluation ID, therefore requiring guessing of it.Because of this @edolstra added support for the
nix-fallback-paths.nixto be uploaded to releases.nixos.org (in non-master branch for now, this commit), which is now the case for 2.16.1.However this only marginally improves the issue, see above motivation. This PR suggests a better way of doing this in response to that.
This work is sponsored by Antithesis ✨
Checklist for maintainers
Maintainers: tick if completed or explain if not relevant
tests/**.shsrc/*/teststests/nixos/*Priorities
Add 👍 to pull requests you find important.