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

expose .drv of each build #1306

Open
raboof opened this issue Oct 27, 2023 · 3 comments
Open

expose .drv of each build #1306

raboof opened this issue Oct 27, 2023 · 3 comments

Comments

@raboof
Copy link
Member

raboof commented Oct 27, 2023

Is your feature request related to a problem? Please describe.
There have been cases where Hydra's .drv differed from what was reproduced locally, and we couldn't find why. The outPath didn't differ, so there was not that much incentive to investigate further. However, if someone would like to dig into this further, it would be helpful to provide access to the contents of the .drv on Hydra.

Describe the solution you'd like
On the 'Details' tab of a build, the 'Derivation store path' should be a link, and clicking that link should download the .drv

@Ericson2314
Copy link
Member

I would very much like if the resolved drv (i.e. with all the inputDrvs converted to inputSrcs) was uploaded into the binary cache too, because it is good for CA/derivations auditing purposes.

@Ericson2314
Copy link
Member

CC @flokli will this just make caching size problems worse or is it is OK to think about?

@flokli
Copy link

flokli commented Jan 9, 2024

In terms of storage size, the derivations are stored as NAR-encoded ATerms. They're fairly small, it shouldn't be an issue for the storage consumption.

However, there can be multiple .drv resulting in the same outPath (for FODs), so the existing model is a bit insufficient, at least it can't answer the question how a certain .drv was produced.

The Deriver field in the .narinfo file can only point to one Derivation, and points to the one that was used to /first/ build that store path. So it can only be used to answer the question what .drv Hydra used while building that store path.

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

No branches or pull requests

3 participants