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

nixos/release-combined.nix: fix tested/supportedSystems (master version of #82886) #83249

Merged
merged 2 commits into from Apr 8, 2020

Conversation

bennofs
Copy link
Contributor

@bennofs bennofs commented Mar 23, 2020

This properly supports the supportedSystems and
limitedSupportedSystems arguments of release-combined.nix.
Previously, evaluation would fail if x86_64-linux was not part either
of those, since the tested job always referenced the x86_64-linux
nixos tests (which won't exist in an aarch64-only eval).

Since the hydra configuration for the jobsettrunk-combined has both
aarch64-linux and x86_64-linux as supported systems, this will make
aarch64 be part of the tested job on that jobset.

This is the version of #82886 for master.

Copy link
Contributor

@worldofpeace worldofpeace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is fine, though I'm not sure how I feel about the function names (can't suggest better right now I'm afraid).

@vcunat
Copy link
Member

vcunat commented Mar 28, 2020

My assumption was that @edolstra cut the dependency on other platforms intentionally in 2de3caf, but the commit doesn't explicitly comment on that point (say, some reasons).

As for different *Systems arguments, we really only use the default ones AFAIK. That's for the big platform-shared NixOS channels – for instance I'm not aware of any -aarch64 channel.

@vcunat
Copy link
Member

vcunat commented Mar 28, 2020

I believe we need some overall thought on the design we have around the jobsets and channels with regards to platforms. Currently we seem to be stuck half-way between separated and integrated aarch64.

For instance, if I were aarch64 user, I wouldn't really know what channel/commit to follow. The channel-advancing jobsets like trunk-combined only contain aarch64 tests but no packages, so channels might advance before most binaries are there 🤷‍♂️ There are separate jobsets to get most aarch64 binaries (e.g. release-20.03-aarch64 which is currently stuck due to this eval error, but that's a detail), but I see no convenient way to "follow" these without a channel/branch.

Well, maybe I'm missing something and you can correct me...

@bennofs
Copy link
Contributor Author

bennofs commented Mar 28, 2020

My assumption was that @edolstra cut the dependency on other platforms intentionally in 2de3caf, but the commit doesn't explicitly comment on that point (say, some reasons)

We can still do that if we want, I just wanted to get to a base version that is close to the original and allows to easily select tests that only run on aarch64. I decided to keep everything that could possibly work on aarch64 (BIOS tests definitely won't) since it was the easiest criteria.

@samueldr
Copy link
Member

samueldr commented Apr 3, 2020

I believe we need some overall thought on the design we have around the jobsets and channels with regards to platforms. Currently we seem to be stuck half-way between separated and integrated aarch64.

We were talking about that lightly on #nixos-aarch64 and determined it was too late to combine aarch64-linux into the main channel for the 20.03 release cycle.

Though, now that we can we would like to make aarch64-linux part of the main eval. The previous issue with the GC being unable to cope with the full list of package was what was preventing this to be done. Now that it is fixed (with the string job names) we should be good to go for 20.09

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/nixos-unstable-hasnt-been-updated-in-a-month/6584/1

This properly supports the `supportedSystems` and
`limitedSupportedSystems` arguments of `release-combined.nix`.
Previously, evaluation would fail if `x86_64-linux` was not part either
of those, since the tested job always referenced the `x86_64-linux`
nixos tests (which won't exist in an aarch64-only eval).

Since the hydra configuration for the jobset`trunk-combined` has both
`aarch64-linux` and `x86_64-linux` as supported systems, this will make
aarch64 be part of the tested job on that jobset.
@bennofs bennofs force-pushed the fix-nixos-aarch64-eval-master branch from 7b21a54 to 918cb88 Compare April 8, 2020 12:32
@bennofs
Copy link
Contributor Author

bennofs commented Apr 8, 2020

Rebased to fix merge conflict.

@bennofs
Copy link
Contributor Author

bennofs commented Apr 8, 2020

The second commit also needs backport to release-20.03

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants