hydra: revert path-style s3 workaround, fix nix TCP keepalive
Revert the addressing-style=path workaround from dfa3dd6 and instead fix the root cause: TCP keepalive on curl handles causes S3 to respond with RequestTimeout (HTTP 400) when curl reuses connections that S3 has already dropped. Override hydra's nix input to Mic92/nix-1#2.34-maintenance-s3-fix which carries the revert of the keepalive commit (736abd50ff). Remove the nix override once upstream 2.34-maintenance includes the fix.
Jörg Thalheim committed
Mar 19, 2026 at 13:07 UTC
9203f4f47a975f2edc5042e99a7abe017f73f141
3 files changed
+22
-10
build/hydra.nix
+1
-1
@@ -85,7 +85,7 @@ in
85
github_client_id = b022c64ce4531ffc1031
86
github_client_secret_file = ${config.age.secrets.hydra-github-client-secret.path}
87
88
- store_uri = s3://nix-cache?secret-key=/var/lib/hydra/queue-runner/keys/cache.nixos.org-1/secret&write-nar-listing=1&ls-compression=br&log-compression=br&index-debug-info=true&addressing-style=path
88
+ store_uri = s3://nix-cache?secret-key=/var/lib/hydra/queue-runner/keys/cache.nixos.org-1/secret&write-nar-listing=1&ls-compression=br&log-compression=br&index-debug-info=true
89
server_store_uri = https://cache.nixos.org?local-nar-cache=${narCache}
90
binary_cache_public_uri = https://cache.nixos.org
91
flake.lock
+12
-9
@@ -294,7 +294,9 @@
294
},
295
"hydra": {
296
"inputs": {
297
- "nix": "nix",
297
+ "nix": [
298
+ "nix"
299
+ ],
300
"nix-eval-jobs": "nix-eval-jobs",
301
"nixpkgs": [
302
"nixpkgs"
@@ -367,17 +369,17 @@
369
"nix": {
370
"flake": false,
371
"locked": {
370
- "lastModified": 1773703540,
371
- "narHash": "sha256-4Y+8PXniloxfreG6nSWF6SWjY58FvGOUvlym4NrmvpI=",
372
- "owner": "NixOS",
373
- "repo": "nix",
374
- "rev": "7ee0a95261253665e064a197272f91ca0e97c7b1",
372
+ "lastModified": 1773922402,
373
+ "narHash": "sha256-9fBGB4ytkZ1PwFAD3rEr1mc1LhMq90c3qpIO2bazi8Q=",
374
+ "owner": "Mic92",
375
+ "repo": "nix-1",
376
+ "rev": "53e404f7bf1acaa7f7365e95b459a22f3a088c4f",
377
"type": "github"
378
},
379
"original": {
378
- "owner": "NixOS",
379
- "ref": "2.34-maintenance",
380
- "repo": "nix",
380
+ "owner": "Mic92",
381
+ "ref": "2.34-maintenance-s3-fix",
382
+ "repo": "nix-1",
383
"type": "github"
384
}
385
},
@@ -523,6 +525,7 @@
525
"hydra": "hydra",
526
"hydra-queue-runner": "hydra-queue-runner",
527
"nft-prefix-import": "nft-prefix-import",
528
+ "nix": "nix",
529
"nixos-channel-scripts": "nixos-channel-scripts",
530
"nixpkgs": "nixpkgs",
531
"nixpkgs-swh": "nixpkgs-swh",
flake.nix
+9
@@ -12,9 +12,18 @@
12
inputs.nixpkgs.follows = "nixpkgs";
13
};
14
15
+ # Revert TCP keepalive on curl handles which causes S3 RequestTimeout
16
+ # errors when curl reuses connections that S3 has already dropped.
17
+ # Remove nix override once hydra's nix input includes the upstream revert.
18
+ nix = {
19
+ url = "github:Mic92/nix-1/2.34-maintenance-s3-fix";
20
+ flake = false;
21
+ };
22
+
23
hydra = {
24
url = "github:NixOS/hydra/a40d42862da88cce78a27dd594e1484a034aac4d";
25
inputs.nixpkgs.follows = "nixpkgs";
26
+ inputs.nix.follows = "nix";
27
};
28
29
hydra-queue-runner = {