these 2 derivations will be built: /nix/store/0spar1gmj6zd5l8kxhq9jbkgflmcznvr-fake-forge.py.drv /nix/store/gwnfw81rvhqwqvsfhqlqw993qsc1x3w4-argunix-webhook-smoke.drv building '/nix/store/0spar1gmj6zd5l8kxhq9jbkgflmcznvr-fake-forge.py.drv'... building '/nix/store/gwnfw81rvhqwqvsfhqlqw993qsc1x3w4-argunix-webhook-smoke.drv'... daemon listening on 127.0.0.1:33363 webhook secret: 35386661653462323665613464613433393732353533626165316434653161336564303166616333353034306536393166333762396538616230613933623035 (hex) --- 1. valid push webhook --- --- 2. wrong-secret webhook is rejected --- HMAC signature mismatch --- 3. unknown repo is rejected --- repo `stranger/elsewhere` is not configured in argunix --- 4. unknown forge URL path --- --- 5. ping event is acknowledged but creates no row --- --- DB shape --- slug|forge myorg/myrepo|github-myorg trigger|git_ref|sha|status push|main|0123456789abcdef0123456789abcdef01234567|evaluation_failed /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 136: 13 Killed argunix serve --config "$workdir/argunix.yaml" --listen "127.0.0.1:0" > daemon.stdout 2> daemon.stderr --- daemon stderr (last 20 lines) --- {"timestamp":"2026-05-15T15:08:33.897137Z","level":"INFO","fields":{"message":"providers initialised","forges":1,"repos":1},"target":"argunix"} {"timestamp":"2026-05-15T15:08:34.079847Z","level":"INFO","fields":{"message":"webhook ensured","forge":"github-myorg","slug":"myorg/myrepo","target_url":"https://argunix.example.com/webhook/github","hook_id":"1"},"target":"argunix_web::auto_install"} {"timestamp":"2026-05-15T15:08:34.079903Z","level":"INFO","fields":{"message":"webhook auto-install pass complete","installed":1,"failed":0,"total":1},"target":"argunix_web::auto_install"} {"timestamp":"2026-05-15T15:08:34.081971Z","level":"INFO","fields":{"message":"argunix http server ready","local":"127.0.0.1:33363"},"target":"argunix"} {"timestamp":"2026-05-15T15:08:34.081966Z","level":"ERROR","fields":{"message":"control server exited with error","error":"binding /run/argunix/control.sock"},"target":"argunix::control"} {"timestamp":"2026-05-15T15:08:34.187512Z","level":"INFO","fields":{"message":"evaluation queued","repo_id":1,"eval_id":1,"slug":"myorg/myrepo","sha":"0123456789abcdef0123456789abcdef01234567"},"target":"argunix_web::webhook"} {"timestamp":"2026-05-15T15:08:34.187676Z","level":"INFO","fields":{"message":"worker picked up evaluation"},"target":"argunix::worker","span":{"eval_id":1,"name":"evaluation"},"spans":[{"eval_id":1,"name":"evaluation"}]} {"timestamp":"2026-05-15T15:08:34.192025Z","level":"ERROR","fields":{"message":"evaluation failed in worker","error":"cloning myorg/myrepo at 0123456789abcdef0123456789abcdef01234567: spawning git: No such file or directory (os error 2)"},"target":"argunix::worker","span":{"eval_id":1,"name":"evaluation"},"spans":[{"eval_id":1,"name":"evaluation"}]} {"timestamp":"2026-05-15T15:08:34.214265Z","level":"WARN","fields":{"message":"webhook rejected","forge_kind":"github","forge_name":"Some(\"github-myorg\")","slug":"Some(\"myorg/myrepo\")","status":401,"error":"HMAC signature mismatch"},"target":"argunix_web::webhook"} {"timestamp":"2026-05-15T15:08:34.233458Z","level":"WARN","fields":{"message":"webhook rejected","forge_kind":"github","forge_name":"None","slug":"Some(\"stranger/elsewhere\")","status":404,"error":"repo `stranger/elsewhere` is not configured in argunix"},"target":"argunix_web::webhook"} {"timestamp":"2026-05-15T15:08:34.251932Z","level":"WARN","fields":{"message":"webhook rejected","forge_kind":"gerrit","forge_name":"None","slug":"None","status":404,"error":"unknown forge kind in URL path: `gerrit`"},"target":"argunix_web::webhook"}