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
Add release.nix for hydra consumption #97
Merged
Merged
Conversation
This file contains 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
This is useful when doing a "batch eval", where you can see which device caused the eval to fail more easily.
Those are sent as a parameter to the derivation. This is part of the internal API allowing the coming release.nix to make generic builds for the overlay.
Will be used by the release.nix configurations. Though these may be just as useful as the x86_64 one is!
This file, to be checked via a CI task, should always contain the full list of devices from the devices folder. Though, with that said, a device line may be commented out. All devices have to be ordered alphabetically, including those commented out.
This release.nix is intended to provide: * Builds for our overlay * Builds for all devices
Only to remind the poor soul that their build has some side-effects.
This begins to smell like spaghetti :/
samueldr
changed the title
Add release.nix for hydra consumption
[WIP] Add release.nix for hydra consumption
Mar 14, 2020
grahamc
approved these changes
Mar 14, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
default_configuration = | ||
let | ||
configPathFromNixPath = (builtins.tryEval <mobile-nixos-configuration>).value; | ||
in | ||
if configPathFromNixPath != false then [ configPathFromNixPath ] | ||
else if (builtins.pathExists ./local.nix) then [ (import ./local.nix) ] | ||
else if (builtins.pathExists ./local.nix) then builtins.trace "WARNING: evaluation includes ./local.nix" [ (import ./local.nix) ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice.
samueldr
force-pushed
the
feature/hydra
branch
2 times, most recently
from
March 14, 2020 02:39
ad1ee77
to
1130301
Compare
samueldr
changed the title
[WIP] Add release.nix for hydra consumption
Add release.nix for hydra consumption
Mar 14, 2020
Will we see this on the official hydra.nixos.org? |
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.
This adds all the necessary machinery to eval the significant bits of the project on an Hydra instance.
This evals all the overlay packages, and all the devices, for all systems configured in the hydra jobset (defaults to builtins.currentSystem), with cross-compilation enabled where relevant.
The
tested
aggregate job is intended to stretch Nixpkgs compatibility. That job should track all breakage Nixpkgs may introduce.This also adds some trace output to the usual builds. This is especially useful when using
nix-instantiate
to figure out which config failed to eval.Note
This is blocked on #91, though really, on a replacement PR for #91, where an actually bootable cross-compilable stage-2 is being built by default.
Closes #40.
A device-only "release.nix", something like
release-device.nix
may be helpful for the simpler use case of one individual wanting to make an hydra jobset for a specific device and nothing else.