Files
rootandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> 0166fb6511
CI / cargo fmt (push) Has been cancelled
CI / cargo clippy (macos-latest) (push) Has been cancelled
CI / cargo clippy (ubuntu-latest) (push) Has been cancelled
CI / cargo clippy (windows-latest) (push) Has been cancelled
CI / cargo test (macos-latest) (push) Has been cancelled
CI / cargo test (ubuntu-latest) (push) Has been cancelled
CI / cargo test (windows-latest) (push) Has been cancelled
CI / cargo build (macos-latest) (push) Has been cancelled
CI / cargo build (ubuntu-latest) (push) Has been cancelled
CI / cargo build (windows-latest) (push) Has been cancelled
CI / cargo build --release (macos-latest) (push) Has been cancelled
CI / cargo build --release (ubuntu-latest) (push) Has been cancelled
CI / cargo build --release (windows-latest) (push) Has been cancelled
CI / CLI smoke (macos-latest) (push) Has been cancelled
CI / CLI smoke (ubuntu-latest) (push) Has been cancelled
CI / CLI smoke (windows-latest) (push) Has been cancelled
CI / Minimal E2E (macos-latest) (push) Has been cancelled
CI / Minimal E2E (ubuntu-latest) (push) Has been cancelled
CI / Minimal E2E (windows-latest) (push) Has been cancelled
docs: add comprehensive project wiki for v1.0
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-06-04 14:07:55 -06:00

1.5 KiB

Tooling

Build system

Cargo is the sole build tool. No custom build scripts or Makefiles are used.

  • cargo build — debug build
  • cargo build --release — optimized release build
  • cargo check — fast type-checking

Linting and formatting

  • cargo fmt --check — enforces rustfmt formatting
  • cargo clippy --all-targets -- -D warnings — runs clippy on all targets with warnings as errors

CI/CD

GitHub Actions runs the full matrix on every push and PR:

Job Platforms Purpose
fmt Ubuntu Format check
clippy Linux, macOS, Windows Lint check
test Linux, macOS, Windows Unit and inline tests
build Linux, macOS, Windows Debug build
release-build Linux, macOS, Windows Release build + artifact upload
smoke Linux, macOS, Windows CLI smoke tests (--help, version, invalid command/port)
e2e-minimal Linux, macOS, Windows Full end-to-end flow: generate, listen, connect, SOCKS5, curl

The E2E job uses cargo run --release -- for OS-neutral binary invocation and includes cross-platform cleanup helpers (kill_process, kill_by_port) invoked via trap cleanup EXIT.

Dependencies

Dependencies are managed in Cargo.toml. Notable choices:

  • tokio with full features for async runtime
  • rustls with ring for TLS (no OpenSSL)
  • rcgen for certificate generation
  • clap with derive for CLI parsing
  • tracing and tracing-subscriber for structured logging