these 4 derivations will be built: /nix/store/iqdjj9mw8p2ifp36wvznlc131ji5k2l6-argunix-test-github-token.drv /nix/store/9ljzyk0criv7dnkf7m644gj06fdvnc8i-argunix.yaml.template.drv /nix/store/q2839pax8xradm9a6xbasxnlp9z87rpr-fake-forge.py.drv /nix/store/6rh28whj9fm5hvs19ql4lx7qqhczjvlx-argunix-webhook-smoke.drv these 7 paths will be fetched (664.1 KiB download, 2.4 MiB unpacked): /nix/store/sspqmllb6bwpysc3mvid7lds8j8hy35k-curl-8.21.0-dev /nix/store/4505nnpjnvhrb49rwkqx2jqngp18n2x8-krb5-1.22.2 /nix/store/hkyzkba1hay4m4irb6bssi0zb635shzy-krb5-1.22.2-dev /nix/store/m996dahxr0nsyhvrwkcqjjjn4h50hznx-libidn2-2.3.8-bin /nix/store/3f857xi9fgdcby52kklyhcc8g9cir38s-libidn2-2.3.8-dev /nix/store/w2vbpjxqc9kgb4pf1pwwwlsb08jw7wqm-libpsl-0.21.5-dev /nix/store/3z6fbqcfyq6k6qh3b0ssx9bkb8rxymc8-libssh2-1.11.1-dev argunix.yaml.template> structuredAttrs is enabled argunix-webhook-smoke> daemon listening on 127.0.0.1:40689 argunix-webhook-smoke> webhook secret: 64353261656432393830366233303232383136613537333762626131366433336366356431623230306661343566626232356431326336316337623462613936 (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> ╭──────────────┬──────────────╮ argunix-webhook-smoke> │ slug │ forge │ argunix-webhook-smoke> ╞══════════════╪══════════════╡ argunix-webhook-smoke> │ myorg/myrepo │ github-myorg │ argunix-webhook-smoke> ╰──────────────┴──────────────╯ argunix-webhook-smoke> ╭─────────┬─────────┬──────────────────────────────────────────┬───────────────────╮ argunix-webhook-smoke> │ trigger │ git_ref │ sha │ status │ argunix-webhook-smoke> ╞═════════╪═════════╪══════════════════════════════════════════╪═══════════════════╡ argunix-webhook-smoke> │ push │ main │ 0123456789abcdef0123456789abcdef01234567 │ evaluation_failed │ argunix-webhook-smoke> ╰─────────┴─────────┴──────────────────────────────────────────┴───────────────────╯ argunix-webhook-smoke> /build/.attr-0l2nkwhif96f51f4amnlf414lhl4rv9vh8iffyp431v6s28gsr90: line 136: 13 Killed argunix serve --config "$workdir/argunix.yaml" --listen "127.0.0.1:0" > daemon.stdout 2> daemon.stderr argunix-webhook-smoke> --- daemon stderr (last 20 lines) --- argunix-webhook-smoke> {"timestamp":"2026-09-04T15:02:21.120503Z","level":"INFO","fields":{"message":"providers initialised","forges":1,"repos":1},"target":"argunix"} argunix-webhook-smoke> {"timestamp":"2026-09-04T15:02:21.386501Z","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-09-04T15:02:21.386522Z","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-09-04T15:02:21.387410Z","level":"ERROR","fields":{"message":"control server exited with error","error":"binding /run/argunix/control.sock"},"target":"argunix::control"} argunix-webhook-smoke> {"timestamp":"2026-09-04T15:02:21.387416Z","level":"INFO","fields":{"message":"argunix http server ready","local":"127.0.0.1:40689"},"target":"argunix"} argunix-webhook-smoke> {"timestamp":"2026-09-04T15:02:21.465664Z","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-09-04T15:02:21.465748Z","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-09-04T15:02:21.471344Z","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-09-04T15:02:21.473934Z","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","span":{"eval_id":1,"name":"evaluation"},"spans":[{"eval_id":1,"name":"evaluation"}]} argunix-webhook-smoke> {"timestamp":"2026-09-04T15:02:21.482871Z","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-09-04T15:02:21.487694Z","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"}