ccval 0.2.0

A validator for conventional commits
# Build stage
FROM rust:bookworm AS builder

RUN rustup target add x86_64-unknown-linux-musl aarch64-unknown-linux-musl

WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src ./src

ARG TARGETARCH
RUN TARGET="" && \
    case "$TARGETARCH" in \
        amd64) TARGET="x86_64-unknown-linux-musl" ;; \
        arm64) TARGET="aarch64-unknown-linux-musl" ;; \
    esac && \
    cargo build --release --target "$TARGET" && \
    cp target/$TARGET/release/ccval /app/ccval

# Runtime stage
FROM alpine:latest

RUN apk add --no-cache git

COPY --from=builder /app/ccval /usr/local/bin/ccval
ENTRYPOINT ["ccval"]