diff --git a/.github/workflows/golden.yml b/.github/workflows/golden.yml index 5a56de87..a8c9f894 100644 --- a/.github/workflows/golden.yml +++ b/.github/workflows/golden.yml @@ -1112,6 +1112,31 @@ jobs: # this host OWNS the files, hfenduleam fetches them through its own # loopback listener. Its own bin, its own ports (+20), after the ladder. # [int->REQ-WEB-CROSS-NODE-PROXY] + # THE INBOUND PROBE, before the ceremony (releases#272). A golden run spent + # 900 s on EACH half discovering that B's datagrams never reached A: the + # Windows host is BlockInbound on every profile and no rule covered the + # test binary, so every QUIC dial died on its 10 s bound -- 75 of them, + # cadenced at exactly 12.00 s, never one ADMIT. At B a dropped datagram is + # indistinguishable from a delivered one, so it was triaged as product, + # then as rig, before it was measured as box. + # + # SEPARATE INVOCATION, not a filter inside the ceremony run: within one + # `cargo test` the cells are threads and nothing orders them, so only a + # step boundary puts this FIRST. + # + # SAME BINARY, not a shell probe: the Windows rule is PER-EXECUTABLE, so an + # allow rule naming pwsh or python says nothing about twohost_web-.exe + # -- a shell probe would pass the moment the PROBER was allowed and certify + # the failure it exists to catch. The assertion lives on A, which is the + # only side that can see arrival. + - name: Two-host inbound probe — role B (sender) + shell: bash + run: cargo test -p spt-daemon --test twohost_web two_host_inbound_probe -- --nocapture + env: + SPT_TWO_HOST: "1" + SPT_TWO_HOST_ROLE: "b" + SPT_TWO_HOST_SECRET: "rig-twohost-ci" + SPT_TWO_HOST_PEER_IP: "100.68.35.65" # hfenduleam (tailscale) - name: Two-host web serving — role B (owner) shell: bash run: bash .github/bench/wrap.sh twohost-web-b -- cargo test -p spt-daemon --test twohost_web -- --nocapture @@ -1249,6 +1274,31 @@ jobs: # serving cells — three cells, each its own listener + broker, fetching # kitsubito's files through this host's loopback. After the ladder. # [int->REQ-WEB-CROSS-NODE-PROXY] + # THE INBOUND PROBE, before the ceremony (releases#272). A golden run spent + # 900 s on EACH half discovering that B's datagrams never reached A: the + # Windows host is BlockInbound on every profile and no rule covered the + # test binary, so every QUIC dial died on its 10 s bound -- 75 of them, + # cadenced at exactly 12.00 s, never one ADMIT. At B a dropped datagram is + # indistinguishable from a delivered one, so it was triaged as product, + # then as rig, before it was measured as box. + # + # SEPARATE INVOCATION, not a filter inside the ceremony run: within one + # `cargo test` the cells are threads and nothing orders them, so only a + # step boundary puts this FIRST. + # + # SAME BINARY, not a shell probe: the Windows rule is PER-EXECUTABLE, so an + # allow rule naming pwsh or python says nothing about twohost_web-.exe + # -- a shell probe would pass the moment the PROBER was allowed and certify + # the failure it exists to catch. The assertion lives on A, which is the + # only side that can see arrival. + - name: Two-host inbound probe — role A (receipt asserted here) + shell: pwsh + run: cargo test -p spt-daemon --test twohost_web two_host_inbound_probe -- --nocapture + env: + SPT_TWO_HOST: "1" + SPT_TWO_HOST_ROLE: "a" + SPT_TWO_HOST_SECRET: "rig-twohost-ci" + SPT_TWO_HOST_PEER_IP: "100.98.197.12" # kitsubito (tailscale) - name: Two-host web serving — role A (requester) shell: pwsh run: .github/bench/wrap.ps1 -Step "twohost-web-a" -Command "cargo test -p spt-daemon --test twohost_web -- --nocapture"