-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Allow testing ssh:https://
and ssh-ng:https://
across versions too
#5602
base: master
Are you sure you want to change the base?
Conversation
5d11d69
to
53ebc3d
Compare
🎉 All dependencies have been resolved ! |
src/libstore/legacy-ssh-store.cc
Outdated
const Setting<Path> remoteProgram{(StoreConfig*) this, "nix-store", "remote-program", "path to the nix-store executable on the remote system"}; | ||
const Setting<Path> remoteProgram{ | ||
(StoreConfig*) this, | ||
getEnv("NIX_LEGACY_SSH_REMOTE_PROGRAM").value_or("nix-store"), |
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.
There is a bit of a convention to prefix these variable with _NIX_TEST_
. Alternatively, we can avoid the environment variable by appending ?remote-program=...
to the store URL.
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.
I switched it to _NIX_TEST_
instead. As to ?remote-program=...
I can pursue if you want, but do note we have some fancy ssh urls e.g. doing iterative ssh with ?remote-store=
so it is a bit a non-trivial. I am thinking the env var might be better because it means no one can forget the remote program part going forward if they are adding another ssh test, especially if it is also has complicated store URLs.
53ebc3d
to
01f2a6a
Compare
Is this OK now? Would be nice to merge. |
Actually while this is OK, it’s a bit limited in what it can test, because when |
Ah good point. Maybe let's start with this, just because it's not worse than today? |
ssh:https://
and ssh-ng:https://
across versions toossh:https://
and ssh-ng:https://
across versions too
6d98e46
to
4bf2dd5
Compare
I marked this as stale due to inactivity. → More info |
@andir an example of one of my PRs relating to cross version testing. It might be nice to do call to page it all back in and answer any questions you have. |
We want to make sure both protocols don't break. Also recall ssh-ng:https:// will be slightly different than unix:https:// because the former transfers files over the protocol too. Add env vars for the remote (ssh/ssh-ng) store programs, we will use them in the test suite soon.
4bf2dd5
to
4875e58
Compare
We want to make sure both protocols don't break. Also recall
ssh-ng:https://
will be slightly different thanunix:https://
because the former transfers files over the protocol too.I am not sure what the status of adding new configuration env vars is. I hope if
NIX_DAEMON_SOCKET
path was OK, these too are too, but if not I suppose we could try to sneak and shove some?remote-command=...
into the tests.depends on #5598The dependency is mainly to avoid merge conflicts.