this derivation will be built: /nix/store/px10j9gbx03v2cpmrbvbm2031lcfil0a-argunix-webhook-smoke.drv argunix-webhook-smoke> daemon listening on 127.0.0.1:33265 argunix-webhook-smoke> webhook secret: 35393738396337393135613332636635623164386565326263386261306465326535373635656562643131636366316539626539613239306234653838343230 (hex) argunix-webhook-smoke> --- 1. valid push webhook --- argunix-webhook-smoke> argunix-webhook-smoke> --- 2. wrong-secret webhook is rejected --- argunix-webhook-smoke> HMAC signature mismatch argunix-webhook-smoke> --- 3. unknown repo is rejected --- argunix-webhook-smoke> repo `stranger/elsewhere` is not configured in argunix argunix-webhook-smoke> --- 4. unknown forge URL path --- argunix-webhook-smoke> --- 5. ping event is acknowledged but creates no row --- argunix-webhook-smoke> --- DB shape --- argunix-webhook-smoke> slug|forge argunix-webhook-smoke> myorg/myrepo|github-myorg argunix-webhook-smoke> trigger|git_ref|sha|status argunix-webhook-smoke> push|main|0123456789abcdef0123456789abcdef01234567|evaluation_failed argunix-webhook-smoke> --- daemon stderr (last 20 lines) --- argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:55.964059Z","level":"INFO","fields":{"message":"providers initialised","forges":1,"repos":1},"target":"argunix"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.056959Z","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"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.056982Z","level":"INFO","fields":{"message":"webhook auto-install pass complete","installed":1,"failed":0,"total":1},"target":"argunix_web::auto_install"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.059649Z","level":"INFO","fields":{"message":"argunix http server ready","local":"127.0.0.1:33265"},"target":"argunix"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.059728Z","level":"ERROR","fields":{"message":"control server exited with error","error":"binding /run/argunix/control.sock"},"target":"argunix::control"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.120047Z","level":"INFO","fields":{"message":"evaluation queued","repo_id":1,"eval_id":1,"slug":"myorg/myrepo","sha":"0123456789abcdef0123456789abcdef01234567"},"target":"argunix_web::webhook"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.120169Z","level":"INFO","fields":{"message":"worker picked up evaluation"},"target":"argunix::worker","span":{"eval_id":1,"name":"evaluation"},"spans":[{"eval_id":1,"name":"evaluation"}]} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.125718Z","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"}]} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.134619Z","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"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.159370Z","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"} argunix-webhook-smoke> {"timestamp":"2026-06-13T12:35:56.167375Z","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"}