Migrated from Linear EMP-85
Test the full install-to-running flow on every supported platform before handing binaries to beta testers. This is the final gate before release.
Platform Matrix
| Platform |
Target Triple |
Sandbox |
Runner |
| macOS Apple Silicon |
aarch64-apple-darwin |
Seatbelt |
M-series Mac |
| macOS Intel |
x86_64-apple-darwin |
Seatbelt |
Intel Mac or Rosetta |
| Linux x86_64 |
x86_64-unknown-linux-gnu |
Landlock + seccomp |
Ubuntu 22.04+ |
| Linux aarch64 |
aarch64-unknown-linux-gnu |
Landlock + seccomp |
ARM server |
Test Script (per platform)
- Fresh Install — download trampoline, verify binary, check
clash --version
- Onboarding —
clash init, verify policy file created
- Plugin Mode —
claude --plugin clash, verify allow/deny/ask rules work
- Sandbox Enforcement — verify Seatbelt (macOS) and Landlock (Linux) restrictions
- Self-Update — verify
clash update downloads and replaces binary atomically
- Bug Report — verify
clash rage collects system info without leaking secrets
CI Automation
- GitHub Actions matrix with
runs-on: [macos-latest, macos-13, ubuntu-latest]
- For aarch64-linux, use
cross or a self-hosted ARM runner
- Run as a release-gate job
Migrated from Linear EMP-85
Test the full install-to-running flow on every supported platform before handing binaries to beta testers. This is the final gate before release.
Platform Matrix
aarch64-apple-darwinx86_64-apple-darwinx86_64-unknown-linux-gnuaarch64-unknown-linux-gnuTest Script (per platform)
clash --versionclash init, verify policy file createdclaude --plugin clash, verify allow/deny/ask rules workclash updatedownloads and replaces binary atomicallyclash ragecollects system info without leaking secretsCI Automation
runs-on: [macos-latest, macos-13, ubuntu-latest]crossor a self-hosted ARM runner