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

Fix Hydra build on darwin #1222

Closed
wants to merge 2 commits into from
Closed

Conversation

@kreisys
Copy link
Contributor

@kreisys kreisys commented Jan 28, 2020

This was caused by a pkgs instance using ambient system
"leaking" into the darwin build via the allPlugins attribute. This
caused darwin builds to fail, but only on Hydra (... or on a Linux
machine with a remote darwin build slave, to be precise).

I fixed it by scoping allPlugins to the build via a let block, thereby
allowing it to use an instance of pkgs with system set by Hydra.

I tested it on my Hydra which was failing the same way as hydra.nixos.org does
currently. it can also be tested from a linux box with a darwin remote
builder by running:

$ nix-build release.nix -A build.x86_64-darwin

Cheers

PS: I renamed the nixopsSrc argument in release.nix to src but kept nixopsSrc with src defaulting to it. That way it shouldn't break existing code (I think Eelco tried making that change in nixops-aws and it ended up being reverted for that reason)

kreisys added 2 commits Jan 27, 2020
but leave `nixopsSrc` for backward compatibility
This was caused by a `system = "x86_64-linux"` instance of `nixpkgs`
"leaking" into the darwin build via the `allPlugins` attribuet. This
caused darwin builds to fail, but only on Hydra (... or on a Linux
machine with a remote darwin build slave, to be precise).
@kreisys kreisys force-pushed the kreisys:fix-hydra-darwin-build branch from 84aaca9 to 9deefef Jan 28, 2020
Copy link
Contributor

@johnalotoski johnalotoski left a comment

Tests ok for me; not noticing any issues.

@grahamc
Copy link
Member

@grahamc grahamc commented Mar 26, 2020

Hello!

Thank you for this PR.

In the past several months, some major changes have taken place in
NixOps:

  1. Backends have been removed, preferring a plugin-based architecture.
    Here are some of them:

  2. NixOps Core has been updated to be Python 3 only, and at the
    same time, MyPy type hints have been added and are now strictly
    required during CI.

This is all accumulating in to what I hope will be a NixOps 2.0
release
. There is a tracking issue for that:
#1242 . It is possible that
more core changes will be made to NixOps for this release, with a
focus on simplifying NixOps core and making it easier to use and work
on.

My hope is that by adding types and more thorough automated testing,
it will be easier for contributors to make improvements, and for
contributions like this one to merge in the future.

However, because of the major changes, it has become likely that this
PR cannot merge right now as it is. The backlog of now-unmergable PRs
makes it hard to see which ones are being kept up to date.

If you would like to see this merge, please bring it up to date with
master and reopen it
. If the or mypy type checking fails, please
correct any issues and then reopen it. I will be looking primarily at
open PRs whose tests are all green.

Thank you again for the work you've done here, I am sorry to be
closing it now.

Graham

@grahamc grahamc closed this Mar 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.