-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Add a CI check to ensure compatibility with an old daemon #4239
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
Conversation
This might of course cause some issues if the |
1614842
to
7c01c60
Compare
Can you add this as a Hydra job? That (rather than Github actions) is the canonical test suite for Nix. It's also easier for developers since you can run a test using nix-build. |
7c01c60
to
0ddae05
Compare
I've actually just rewritten it to run as part of the standard testsuite (peeking the reference nix daemon from an environment variable that's set in |
fdc9eb2
to
57d1782
Compare
I like the approach Eelco suggested. It allows for more combinations to be tested, and to reuse the whole test suite.
The price is always low when tests run on CI. You don't need to test compatibility when iterating on a feature, but you can still do it with It'd look like this: old daemon
old client
version combinations
|
Yes sorry, I didn't mean “low price” as “doesn't require too much computation” but rather as “easy to implement and maintain”.
Well, my point is that I don't think we can (easily) reuse the test-suite because it's currently tied to the actual build process − the test setup points In practice it means that we can't take an arbitrary I agree that I'd be better in the long run to indeed have it as a matrix of hydra checks, but that would be a longer term goal as it would first require un-coupling the install-testsuite from the build process (and do so without breaking the development cycle which − at least for me − relies a lot on being able to run |
087c467
to
8ecf67b
Compare
I've updated this a little to
|
@edolstra is there anything you'd like to see on this? |
Yeah @edolstra very much looking forward to daemon protocol code changes being less scary after this! |
8ecf67b
to
296a418
Compare
Catching and fixing some things in #4588 only makes me want this more! |
This requires adding `nix` to its own closure which is a bit unfortunate, but as it is optional (the test will be disabled if `OUTER_NIX` is unset) it shouldn't be too much of an issue. (Ideally this should go in another derivation so that we can build Nix and run the test independently, but as the tests are running in the same derivation as the build it's a bit complicated to do so).
That way we can run them without rebuilding Nix
Doesn't make sense anymore with the new setup
296a418
to
be60c9e
Compare
To prevent the OSX build to fail because of a too long socket path
I've rebased this on top of master and reworked a bit the way it works:
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/tweag-nix-dev-update-9/12357/1 |
Run the
remote-store
test on the CI wherenix-daemon
is replaced by the nix provided in the global environment (assumed to be the latest stable release)Fix #4226