Is there an existing issue or pull request for this?
Feature description
There are user who prefers to use Alpine base images instead of Debian due to different reason.
Desired solution
Add the Dockerfile.alpine besides the default one with similar content:
# syntax=docker/dockerfile:1.4.3-labs
FROM lukemathwalker/cargo-chef:0.1.77-rust-alpine3.23 AS chef
WORKDIR app
FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json
FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
ENV CARGO_NET_GIT_FETCH_WITH_CLI=true
RUN cargo chef cook --release --recipe-path recipe.json
COPY . .
RUN cargo build --release --locked --no-default-features --features github --features gitlab --features bitbucket
RUN rm -f target/release/deps/git_cliff*
FROM alpine:3.23 as runner
# Install ca-certificates (required for `--use-native-tls` argument)
RUN apk update \
&& apk add ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Everything inside this container will be explicitly mounted by the end user,
# so we can sidestep some Git security restrictions. This app recommends
# mounting data to /app, but this *can* be changed externally and *will* be
# changed when run by GitHub Actions, so we need to cover our bases.
RUN echo '[safe]\n\tdirectory = *' > /etc/gitconfig
COPY --from=builder /app/target/release/git-cliff /usr/local/bin
WORKDIR app
# Even if the repository is marked as safe, GitHub Actions and some other
# environments insist on running the entrypoint as root inside the container
# even when being run by a non privileged user on their own files. Here we
# check the ownership of the workdir (which may or may not be /app) and change
# our effective user/group ID to match.
RUN cat <<'EOF' > /usr/local/bin/entrypoint.sh
#!/bin/sh
if [ "$(id -u)" -ne "$(stat -c '%u' .)" ]; then
eids="$(stat -c '--euid %u --egid %g' .)"
fi
exec ${eids:+setpriv --clear-groups $eids} git-cliff $@
EOF
ENTRYPOINT ["sh", "/usr/local/bin/entrypoint.sh"]
Just appropriate SHA256 hashes needs to be used for referenced images, instead of tags.
Alternatives considered
As alternative is to use only debian image.
Additional context
No response
Is there an existing issue or pull request for this?
Feature description
There are user who prefers to use Alpine base images instead of Debian due to different reason.
Desired solution
Add the Dockerfile.alpine besides the default one with similar content:
Just appropriate SHA256 hashes needs to be used for referenced images, instead of tags.
Alternatives considered
As alternative is to use only debian image.
Additional context
No response