- Sync --all with async concurrency, per-host throttling, failure budgets, resumable execution - External ref bundling at fetch time with origin tracking - Cross-alias discovery (--all-aliases) for list and search commands - CI/CD pipeline (.gitlab-ci.yml), cargo-deny config, Dockerfile, install script - Reliability test suite: crash consistency (8 tests), lock contention (3 tests), property-based (4 tests) - Criterion performance benchmarks (5 benchmarks) - Bug fix: doctor --fix now repairs missing index.json when raw.json exists - Bug fix: shared $ref references no longer incorrectly flagged as circular (refs.rs) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
25 lines
592 B
Docker
25 lines
592 B
Docker
# Multi-stage build for swagger-cli
|
|
# Builder: compile with musl for fully static binary
|
|
# Runtime: minimal Alpine image
|
|
|
|
FROM rust:1.93-alpine AS builder
|
|
|
|
RUN apk add --no-cache musl-dev
|
|
|
|
WORKDIR /build
|
|
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY src/ src/
|
|
|
|
RUN cargo build --release --target x86_64-unknown-linux-musl \
|
|
&& strip target/x86_64-unknown-linux-musl/release/swagger-cli
|
|
|
|
# Runtime stage
|
|
FROM alpine:latest
|
|
|
|
RUN apk add --no-cache ca-certificates
|
|
|
|
COPY --from=builder /build/target/x86_64-unknown-linux-musl/release/swagger-cli /usr/local/bin/swagger-cli
|
|
|
|
ENTRYPOINT ["swagger-cli"]
|