-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
hydra-unstable: 2020-06-23 -> 2020-07-28 #93945
Conversation
I would prefer to remove |
I think it might be too late to leave it unfixed? The hydra module and release notes for 20.03 already strongly encouraged a migration to hydra-unstable = callPackage ./common.nix {
version = "2020-06-23"; I don't know how, or if, I could migrate back to an older Hydra. Also, we could remove or alias cc @Ma27 |
@edolstra we had this discussion in the past and while I understand your concerns, I'm still against it (for now at least) for the following reasons:
That's not possible due to the DB schema changes from ~February 2020. But AFAIU Eelco prefers to distribute Hydra using flakes (as mentioned above, this is perfectly understandable, but IMHO not viable for the average users at the moment), not a downgrade to an older Hydra rev.
Actually, I'm not sure if we really want to do that: whenever However there are two more things to discuss before merging:
|
Note that I'm not talking about removing |
Well, but Hydra master is actually the one with flakes, right? And what would you choose in our case then? There are still no releases. |
This fixes the build: config.status: creating hydra-config.h config.status: executing depfiles commands config.status: executing libtool commands config.status: executing executable-scripts commands building build flags: -j8 -l8 SHELL=/nix/store/c4wxsn4jays9j31y5z9f83nr2cp7l4pa-bash-4.4-p23/bin/bash make all-recursive make[1]: Entering directory '/build/source' Making all in src make[2]: Entering directory '/build/source/src' Making all in hydra-evaluator make[3]: Entering directory '/build/source/src/hydra-evaluator' g++ -DHAVE_CONFIG_H -I. -I../.. -std=c++17 -I/nix/store/2xhb4hlskn33pbyph36v4wxcan56dnrw-boehm-gc-8.0.4-dev/include -I/nix/store/5rjgsqjdm71cflfb68q7m771a1rqcsk3-nix-2.4pre20200719_a79b6dd-dev/include/nix -Wall -I ../libhydra -Wno-deprecated-declarations -g -O2 -std=c++17 -include nix/config.h -c -o hydra_evaluator-hydra-evaluator.o `test -f 'hydra-evaluator.cc' || echo './'`hydra-evaluator.cc hydra-evaluator.cc:27:27: error: template argument 1 is invalid 27 | std::unique_ptr<Config> config; | ^ hydra-evaluator.cc:27:27: error: template argument 2 is invalid hydra-evaluator.cc: In constructor 'Evaluator::Evaluator()': hydra-evaluator.cc:61:56: error: base operand of '->' is not a pointer 61 | , maxEvals(std::max((size_t) 1, (size_t) config->getIntOption("max_concurrent_evals", 4))) | ^~ hydra-evaluator.cc:60:44: error: invalid user-defined conversion from 'std::_MakeUniq<Config>::__single_object' {aka 'std::unique_ptr<Config, std::default_delete<Config> >'} to 'int' [-fpermissive] 60 | : config(std::make_unique<::Config>()) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from /nix/store/3krz9s8ni3bqy4hy35ycmq8assrrb4f6-gcc-9.3.0/include/c++/9.3.0/memory:80, from /nix/store/d97d0wixvlprz59z57maqj1pmda55r3b-libpqxx-6.4.5/include/pqxx/binarystring.hxx:17, from /nix/store/d97d0wixvlprz59z57maqj1pmda55r3b-libpqxx-6.4.5/include/pqxx/binarystring:4, from /nix/store/d97d0wixvlprz59z57maqj1pmda55r3b-libpqxx-6.4.5/include/pqxx/pqxx:3, from ../libhydra/db.hh:3, from hydra-evaluator.cc:1: /nix/store/3krz9s8ni3bqy4hy35ycmq8assrrb4f6-gcc-9.3.0/include/c++/9.3.0/bits/unique_ptr.h:374:16: note: candidate is: 'std::unique_ptr<_Tp, _Dp>::operator bool() const [with _Tp = Config; _Dp = std::default_delete<Config>]' <near match> 374 | explicit operator bool() const noexcept | ^~~~~~~~ /nix/store/3krz9s8ni3bqy4hy35ycmq8assrrb4f6-gcc-9.3.0/include/c++/9.3.0/bits/unique_ptr.h:374:16: note: return type 'bool' of explicit conversion function cannot be converted to 'int' with a qualification conversion make[3]: *** [Makefile:440: hydra_evaluator-hydra-evaluator.o] Error 1 make[3]: Leaving directory '/build/source/src/hydra-evaluator' make[2]: *** [Makefile:360: all-recursive] Error 1 make[2]: Leaving directory '/build/source/src' make[1]: *** [Makefile:414: all-recursive] Error 1 make[1]: Leaving directory '/build/source' make: *** [Makefile:344: all] Error 2 builder for '/nix/store/g967cc3j6rc3nnpx2s4klpr03ig9zzyp-hydra-2020-06-23.drv' failed with exit code 2
@edolstra thank you very much for the fix in Hydra. I have updated this PR to just bump |
Thanks! Ported to stable as 38516a2. |
Did this change the setup requirements for signing? I have a hydra running on 20.03 and I’m seeing failures when building on remote builders due to paths lacking signatures. See example build and hydra-queue-runner log. The bump includes a change to how paths are copied, which looks related. |
Thanks for your report. Will take a look today or tomorrow. |
@thefloweringash is it possible that this is related to the
For further reference you may want to look at the "old" behavior: https://github.com/NixOS/nix/blob/699fc89b394ef5347ff0508abe389e77a7cde09e/src/libstore/export-import.cc#L91 If this fixes your issue, please file a PR against NixOS/hydra (I'd also apply this as |
@Ma27 Thanks, I've added the |
Awesome, thanks! Will update the package later today :) |
Moving just one patch forward to fix importing store-paths from `hydra-queue-runner`[1]. The other patches[2] require a newer `pkgs.nixUnstable` and can't be used currently due to this. [1] #93945 (comment) [2] NixOS/hydra@77c33c1...4b58130
Moving just one patch forward to fix importing store-paths from `hydra-queue-runner`[1]. The other patches[2] require a newer `pkgs.nixUnstable` and can't be used currently due to this. [1] #93945 (comment) [2] NixOS/hydra@77c33c1...4b58130 (cherry picked from commit ae9ab32)
@thefloweringash fixed on |
Thanks for the quick fix! |
Motivation for this change
This fixes
hydra-unstable
on master, which currently does not build.This adds a
nixHydra
because Hydra does not build withnixStable
ornixUnstable
: NixOS/hydra#794Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)