John Ericson
f1d9230f25
Merge remote-tracking branch 'upstream/master' into nix-next
2024-01-23 01:18:13 -05:00
John Ericson
f5c0efb11e
Merge pull request #1340 from NixOS/start-using-nix-ssh
...
Replace `Child` with `SSHMaster::Connection`
2024-01-23 01:17:26 -05:00
John Ericson
4e8fbaa3d6
Replace Child
with SSHMaster::Connection
...
Nix defines basically an identical struct for the same purpose, so let's
just use that.
2024-01-23 01:11:46 -05:00
John Ericson
34c51fcea9
Merge pull request #1165 from obsidiansystems/factor-out-proto
...
Begin factoring out the protocol code
2024-01-22 14:49:07 -05:00
John Ericson
4ac31c89df
Use nix::serv_proto::BasicConnection
in build_remote.cc
...
- Use the type itself
This lays the foundation for being able to dedup the protocol code.
- Use `BasicConnection::handshake`, replacing ours.
- Use `BasicConnection::queryValidPaths`
- Use `BasicConnection::putBuildDerivationRequest`
2024-01-22 14:20:39 -05:00
John Ericson
db7aa01b8d
Update to newer Nix master
...
Flake lock file updates:
• Updated input 'nix':
'github:NixOS/nix/b7e016ab2464ad2e7e2e856ad0f173157135aae0' (2023-12-10)
→ 'github:NixOS/nix/74534829f23b668fb9b2f2a14ff6afa4d5e71d4a' (2024-01-22)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/e9f06adb793d1cca5384907b3b8a4071d5d7cb19' (2023-12-03)
→ 'github:NixOS/nixpkgs/a1982c92d8980a0114372973cbdfe0a307f1bdea' (2024-01-12)
• Removed input 'nix/lowdown-src'
2024-01-22 14:14:59 -05:00
John Ericson
89cfe26533
Merge remote-tracking branch 'upstream/master' into nix-next
2024-01-22 13:01:40 -05:00
John Ericson
02e453fc8c
Merge pull request #1329 from NixOS/small-std-optional-cleanup
...
Clean up `std::optional` dereferencing in the queue runner
2023-12-23 19:18:41 -05:00
John Ericson
75f26f1fc4
Clean up std::optional
dereferencing in the queue runner
...
Instead of doing this partial operation a number of times, assert (with
a comment, get a reference to the thing inside, and use that just once.
(This refactor was done twice, "just once" for each time.)
2023-12-23 19:10:58 -05:00
John Ericson
3c89067f52
Merge pull request #1328 from JackKelly-Bellroy/doc-store-uri
...
Document the `store_uri` parameter by way of example
2023-12-23 03:57:10 -05:00
Jack Kelly
abd858d3dc
Document the store_uri
parameter by way of example
2023-12-19 07:54:40 +10:00
John Ericson
163dbf7f54
Merge pull request #1327 from NixOS/latest-2.19
...
flake.lock: Update Nix
2023-12-14 00:57:19 -05:00
John Ericson
7517c134c5
flake.lock: Update Nix
...
Newer 2.19-maintenance has some `restricted-eval` fixes that benefit
Hydra.
Flake lock file updates:
• Updated input 'nix':
'github:NixOS/nix/50f8f1c8bc019a4c0fd098b9ac674b94cfc6af0d' (2023-12-11)
→ 'github:NixOS/nix/b38e5a665e9d0aa7975beb0ed12e42d13a392e74' (2023-12-13)
2023-12-14 00:32:15 -05:00
John Ericson
f3a760ad9c
Merge pull request #1324 from obsidiansystems/serve-proto-build-options-serializer
...
Use `ServeProto::Serialise<ServeProto::BuildOptions>`
2023-12-11 10:45:33 -05:00
John Ericson
8c10331ee8
Fix totalNarSize
summation
...
I accidentally removed it in d0d3b0a2986915ab7aa96d3fce8371a5012c9021.
2023-12-10 14:05:26 -05:00
John Ericson
20f5a2120c
Use ServeProto::Serialise<ServeProto::BuildOptions>
2023-12-10 13:24:17 -05:00
John Ericson
b56d2383c1
Do not attempt to speak a newer version of the protocol
...
Both sides need to agree on a version (with `std::min`) for anything to
work. Somehow... we've never done this.
With this comment, the next commit succeeds. Without this commit, the
next commit fails. This is because the next commit exposes serializers
which do different things for proto version 2.7, and we're currently
requesting 2.6.
Opened https://github.com/NixOS/nix/issues/9584 to track this issue
2023-12-10 13:24:17 -05:00
John Ericson
2bd67562b5
Merge pull request #1323 from obsidiansystems/serve-proto-build-options
...
Use `ServeProto::BuildOption`
2023-12-10 13:23:43 -05:00
John Ericson
69a5b00e60
Use ServeProto::BuildOption
...
More deduplication with Nix.
2023-12-10 13:01:00 -05:00
John Ericson
1d80b72ffb
flake.lock: Update Nix master
...
Flake lock file updates:
• Updated input 'nix':
'github:NixOS/nix/c8458bd731eb1c74159bebe459ea00165e056b65' (2023-12-09)
→ 'github:NixOS/nix/b7e016ab2464ad2e7e2e856ad0f173157135aae0' (2023-12-10)
2023-12-10 13:00:47 -05:00
John Ericson
105fd18fee
Merge pull request #1322 from NixOS/use-UnkeyedValidPathInfo-serializer
...
Use `ServeProto::Serialise<UnkeyedValidPathInfo>` for `QueryValidPaths`
2023-12-10 11:52:56 -05:00
John Ericson
f6f817926a
std::move
the into the path info map
2023-12-09 12:12:00 -05:00
John Ericson
d0d3b0a298
Use ServeProto::Serialise<UnkeyedValidPathInfo>
for QueryValidPaths
...
Companion to already-merged https://github.com/NixOS/nix/pull/9560
2023-12-09 12:08:04 -05:00
John Ericson
3f932a6731
build-remote: Use std::map<StorePath, UnkeyedValidPathInfo>
...
It is less denormalized
2023-12-09 11:59:09 -05:00
John Ericson
aaa0e128c1
flake.lock: Update Nix master
...
Flake lock file updates:
• Updated input 'nix':
'github:NixOS/nix/c3827ff6348a4d5199eaddf8dbc2ca2e2ef46ec5' (2023-12-07)
→ 'github:NixOS/nix/c8458bd731eb1c74159bebe459ea00165e056b65' (2023-12-09)
2023-12-09 11:59:02 -05:00
John Ericson
4515b5aa17
Merge pull request #1321 from NixOS/master
...
Mere `master` into `nix-next`
2023-12-09 11:53:58 -05:00
John Ericson
411e4d0c24
Let tests themselves intentionally leak temp dir ( #1320 )
...
* Let tests themselves intentionally leak temp dir
By default Yath will clean up temporary files, so the result is the
same. But `--keep-dirs` can be passed to `yath test` telling Yath to
*not* clean them up instead. This is very useful for debugging.
* Update t/lib/HydraTestContext.pm
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2023-12-08 16:30:31 +00:00
John Ericson
831021808c
Merge pull request #1318 from obsidiansystems/use-build-result-serialiser
...
Use factored-out `BuildResult` serializer
2023-12-08 11:25:05 -05:00
John Ericson
20c8263e3c
Update to Nix master
...
The point of this branch is to always track Nix master, so we are
proactively ready to upgrade to the next Nix release when it is ready.
Flake lock file updates:
• Updated input 'nix':
'github:NixOS/nix/50f8f1c8bc019a4c0fd098b9ac674b94cfc6af0d' (2023-11-27)
→ 'github:NixOS/nix/c3827ff6348a4d5199eaddf8dbc2ca2e2ef46ec5' (2023-12-07)
• Added input 'nix/libgit2':
'github:libgit2/libgit2/45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5' (2023-10-18)
2023-12-07 13:11:31 -05:00
John Ericson
91bbd5366f
Merge pull request #1319 from NixOS/nixpkgs-newer-23.05
...
flake.lock: Update Nixpkgs
2023-12-07 13:10:08 -05:00
John Ericson
a45a27851b
flake.lock: Update Nixpkgs
...
This will be required for upgrading Nix beyond 2.19.
Flake lock file updates:
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/ef0bc3976340dab9a4e087a0bcff661a8b2e87f3' (2023-06-21)
→ 'github:NixOS/nixpkgs/e9f06adb793d1cca5384907b3b8a4071d5d7cb19' (2023-12-03)
2023-12-07 12:21:18 -05:00
John Ericson
6a54ab24e2
Use factored-out BuildResult
serializer
...
For the record, here is the Nix 2.19 version:
https://github.com/NixOS/nix/blob/2.19-maintenance/src/libstore/serve-protocol.cc ,
which is what we would initially use.
It is a more complete version of what Hydra has today except for one
thing: it always unconditionally sets the start/stop times.
I think that is correct at the other end seems to unconditionally
measure them, but just to be extra careful, I reproduced the old
behavior of falling back on Hydra's own measurements if `startTime` is
0.
The only difference is that the fallback `stopTime` is now measured from
after the entire `BuildResult` is transferred over the wire, but I think
that should be negligible if it is measurable at all. (And remember,
this is fallback case I already suspect is dead code.)
2023-12-07 02:00:22 -05:00
John Ericson
58707438ba
Merge pull request #1317 from obsidiansystems/substitute-flag
...
`copyClosureTo`: Use `SubstituteFlag` instead of `bool`
2023-12-07 00:23:54 -05:00
John Ericson
86cd5e9076
copyClosureTo
: Use SubstituteFlag
instead of bool
...
This matches Nix (in the same serialization logic in
`src/libstore/legacy-ssh-store.cc`) and adds clarity.
2023-12-07 00:18:50 -05:00
John Ericson
a5d44b60ea
Merge pull request #1313 from obsidiansystems/split-buildRemote
...
Split the `buildRemote` function, take 2
2023-12-04 11:37:36 -05:00
John Ericson
363604846a
Again, use const
in for loop
...
As requested by @teh. Was lost in merge with master, now added back.
2023-12-04 11:31:05 -05:00
John Ericson
162b538912
Remove unused thisArrow
variable
2023-12-04 11:27:39 -05:00
John Ericson
104baef503
Document the connection initialization process
2023-12-04 09:42:04 -05:00
John Ericson
3c5636162a
Merge remote-tracking branch 'upstream/master' into split-buildRemote
2023-12-04 09:38:43 -05:00
Janne Heß
874fcae1e8
Merge pull request #1301 from delroth/queue-runner-perf
...
queue-runner: only re-sort runnables by prio once per dispatch cycle
2023-12-04 15:27:14 +01:00
Eelco Dolstra
4dc8fe0b08
Merge pull request #1312 from obsidiansystems/clean-up-deps
...
Cleanup deps
2023-12-04 15:15:09 +01:00
John Ericson
67eeabd518
Merge remote-tracking branch 'upstream/master' into split-buildRemote
2023-12-04 09:12:58 -05:00
John Ericson
622c25e3c4
Sedding prior to merge
2023-12-04 08:56:06 -05:00
Eelco Dolstra
f216bce0e6
Merge pull request #1314 from obsidiansystems/2.19
...
Upgrade to Nix 2.19
2023-12-01 17:07:51 +01:00
Eelco Dolstra
4d1c850512
Merge pull request #1308 from chayleaf/2.18
...
support nix 2.18
2023-12-01 15:10:29 +01:00
John Ericson
c922e73c11
Update to Nix 2.19
...
Flake lock file updates:
• Updated input 'nix':
'github:NixOS/nix/f5f4de6a550327b4b1a06123c2e450f1b92c73b6' (2023-10-02)
→ 'github:NixOS/nix/50f8f1c8bc019a4c0fd098b9ac674b94cfc6af0d' (2023-11-27)
2023-11-30 15:26:46 -05:00
John Ericson
e172461e55
Use const
in for loop
...
As requested by @teh
2023-11-30 12:19:20 -05:00
John Ericson
0917145622
Make new functions not in header static
2023-11-30 12:19:05 -05:00
John Ericson
2bda7ca642
Further use Machine::Connection
to deduplicate
2023-11-30 11:31:58 -05:00
John Ericson
831a2d9bd5
Merge remote-tracking branch 'upstream/master' into split-buildRemote
2023-11-30 11:27:40 -05:00