feat: Sprint 1 — production hardening, TLS lifecycle, CI coverage, lint cleanup
- Fix 3 client panics: replace .unwrap()/.expect() with proper error handling in rpc.rs (AUTH_CONTEXT lock), repl.rs (pending_member), and retry.rs (last_err) - Add --danger-accept-invalid-certs flag with InsecureServerCertVerifier for development TLS bypass, plus mdBook TLS documentation - Add CI coverage job (cargo-tarpaulin) and Docker build validation to GitHub Actions workflow, plus README CI badge - Add [workspace.lints] config, fix 46 clippy warnings across 8 crates, zero warnings on all buildable crates - Update Dockerfile for all 11 workspace members
This commit is contained in:
@@ -12,11 +12,17 @@ WORKDIR /build
|
||||
|
||||
# Copy manifests first so dependency layers are cached independently of source.
|
||||
COPY Cargo.toml Cargo.lock ./
|
||||
COPY crates/quicproquo-core/Cargo.toml crates/quicproquo-core/Cargo.toml
|
||||
COPY crates/quicproquo-proto/Cargo.toml crates/quicproquo-proto/Cargo.toml
|
||||
COPY crates/quicproquo-server/Cargo.toml crates/quicproquo-server/Cargo.toml
|
||||
COPY crates/quicproquo-client/Cargo.toml crates/quicproquo-client/Cargo.toml
|
||||
COPY crates/quicproquo-p2p/Cargo.toml crates/quicproquo-p2p/Cargo.toml
|
||||
COPY crates/quicproquo-core/Cargo.toml crates/quicproquo-core/Cargo.toml
|
||||
COPY crates/quicproquo-proto/Cargo.toml crates/quicproquo-proto/Cargo.toml
|
||||
COPY crates/quicproquo-server/Cargo.toml crates/quicproquo-server/Cargo.toml
|
||||
COPY crates/quicproquo-client/Cargo.toml crates/quicproquo-client/Cargo.toml
|
||||
COPY crates/quicproquo-p2p/Cargo.toml crates/quicproquo-p2p/Cargo.toml
|
||||
COPY crates/quicproquo-bot/Cargo.toml crates/quicproquo-bot/Cargo.toml
|
||||
COPY crates/quicproquo-gen/Cargo.toml crates/quicproquo-gen/Cargo.toml
|
||||
COPY crates/quicproquo-kt/Cargo.toml crates/quicproquo-kt/Cargo.toml
|
||||
COPY crates/quicproquo-plugin-api/Cargo.toml crates/quicproquo-plugin-api/Cargo.toml
|
||||
COPY crates/quicproquo-gui/Cargo.toml crates/quicproquo-gui/Cargo.toml
|
||||
COPY crates/quicproquo-mobile/Cargo.toml crates/quicproquo-mobile/Cargo.toml
|
||||
|
||||
# Create dummy source files so `cargo build` can resolve the dependency graph
|
||||
# and cache the compiled dependencies before copying real source.
|
||||
@@ -26,11 +32,23 @@ RUN mkdir -p \
|
||||
crates/quicproquo-server/src \
|
||||
crates/quicproquo-client/src \
|
||||
crates/quicproquo-p2p/src \
|
||||
crates/quicproquo-bot/src \
|
||||
crates/quicproquo-gen/src \
|
||||
crates/quicproquo-kt/src \
|
||||
crates/quicproquo-plugin-api/src \
|
||||
crates/quicproquo-gui/src \
|
||||
crates/quicproquo-mobile/src \
|
||||
&& echo 'fn main() {}' > crates/quicproquo-server/src/main.rs \
|
||||
&& echo 'fn main() {}' > crates/quicproquo-client/src/main.rs \
|
||||
&& echo 'fn main() {}' > crates/quicproquo-gen/src/main.rs \
|
||||
&& echo 'fn main() {}' > crates/quicproquo-bot/src/main.rs \
|
||||
&& touch crates/quicproquo-core/src/lib.rs \
|
||||
&& touch crates/quicproquo-proto/src/lib.rs \
|
||||
&& touch crates/quicproquo-p2p/src/lib.rs
|
||||
&& touch crates/quicproquo-p2p/src/lib.rs \
|
||||
&& touch crates/quicproquo-kt/src/lib.rs \
|
||||
&& touch crates/quicproquo-plugin-api/src/lib.rs \
|
||||
&& touch crates/quicproquo-gui/src/lib.rs \
|
||||
&& touch crates/quicproquo-mobile/src/lib.rs
|
||||
|
||||
# Schemas must exist before the proto crate's build.rs runs.
|
||||
COPY schemas/ schemas/
|
||||
@@ -46,6 +64,8 @@ RUN touch \
|
||||
crates/quicproquo-core/src/lib.rs \
|
||||
crates/quicproquo-proto/src/lib.rs \
|
||||
crates/quicproquo-p2p/src/lib.rs \
|
||||
crates/quicproquo-kt/src/lib.rs \
|
||||
crates/quicproquo-plugin-api/src/lib.rs \
|
||||
crates/quicproquo-server/src/main.rs \
|
||||
crates/quicproquo-client/src/main.rs
|
||||
|
||||
|
||||
Reference in New Issue
Block a user