@cryptotaxi247 / infra-1 / commits / 9203f4f4

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 = {