1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
name: ci
on:
push:
branches:
pull_request:
branches:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo build --all-targets
# Force single-threaded test execution to keep the heavy real-process
# e2e binaries (e.g. e2e_detached_pair, with real daemons + a SAS
# handshake under a tight deadline) from self-contending under default
# parallelism on the 2-core ubuntu-latest runner. Also reduces the UDS
# round-trip flake seen intermittently on Broken-pipe (os error 32).
# Lib + non-heavy e2e cost is negligible serialized; heavy e2e is where
# the wins are. See feedback/heavy-e2e-subprocess-contention.
- run: cargo test --all-targets -- --test-threads=1
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --all-targets -- -D warnings
demo-detached:
# Runs demo-detached.sh end-to-end: local relay + two daemons + full
# detached pair handshake + signed send/recv. Catches regressions that
# only surface under the real CLI surface (process spawning, FIFO/IO
# buffering, daemon lifecycle).
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: sudo apt-get update && sudo apt-get install -y jq
- run: cargo build --release --bin wire
- run: WIRE=./target/release/wire bash demo-detached.sh
demo-invite:
# Runs demo-invite.sh end-to-end: local relay + paul + willard + one-paste
# invite-URL pair + bidirectional signed send/recv. Catches regressions in
# the v0.4.0 pair_drop hook, daemon-pull cursor persist, and CLI wiring.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: sudo apt-get update && sudo apt-get install -y jq
- run: cargo build --release --bin wire
- run: WIRE=./target/release/wire bash demo-invite.sh
demo-hotline:
# Runs demo-hotline.sh end-to-end: local relay + 5 agents with vibes +
# full mesh via `wire add` + signed ring-send. Validates the v0.5
# handle directory, .well-known/wire/agent resolver, pair_drop +
# pair_drop_ack flow, profile fields, and 5-way mesh under one daemon.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: sudo apt-get update && sudo apt-get install -y jq
- run: cargo build --release --bin wire
- run: WIRE=./target/release/wire bash demo-hotline.sh