diff --git a/.woodpecker/publish-release-plz-image.yml b/.woodpecker/publish-release-plz-image.yml new file mode 100644 index 0000000..1b28c4b --- /dev/null +++ b/.woodpecker/publish-release-plz-image.yml @@ -0,0 +1,16 @@ +when: + event: [push, manual] + branch: main + path: ["release-plz.Dockerfile"] + +steps: + publish: + image: plugins/kaniko + settings: + repo: jasterv/release-plz + tags: 0.3,latest + username: + from_secret: DOCKERHUB_USERNAME + password: + from_secret: DOCKERHUB_PASSWORD + dockerfile: release-plz.Dockerfile diff --git a/release-plz.Dockerfile b/release-plz.Dockerfile new file mode 100644 index 0000000..5055d4e --- /dev/null +++ b/release-plz.Dockerfile @@ -0,0 +1,21 @@ +FROM rust:alpine AS builder + +# Install build dependencies for Rust crates +RUN apk add --no-cache musl-dev gcc + +# Install release-plz +RUN cargo install release-plz --version 0.3.156 + +# Final lightweight image +FROM alpine:latest + +# Install runtime dependencies (git for repo access, curl for API calls) +RUN apk add --no-cache git curl libgcc + +# Copy the binary from the builder stage +COPY --from=builder /usr/local/cargo/bin/release-plz /usr/local/bin/release-plz + +# Verify installation +RUN release-plz --version + +CMD ["release-plz", "--help"]