Paul Campbell
3ea7f36c98
Some checks failed
Rust / build (push) Successful in 6m8s
ci/woodpecker/push/cron-docker-builder Pipeline was successful
Release Please / Release-plz (push) Failing after 1h0m59s
ci/woodpecker/push/push-next Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
Debian routinly drop older versions of packages from the repositories as new versions replace them. Pinning the version causes the build to break at seamingly random times when the pinned version gets dropped.
30 lines
907 B
Docker
30 lines
907 B
Docker
# Leveraging the pre-built Docker images with
|
|
# cargo-chef and the Rust toolchain
|
|
FROM git.kemitix.net/kemitix/git-next-builder:2024.08.04 AS chef
|
|
WORKDIR /app
|
|
|
|
FROM chef AS planner
|
|
COPY Cargo.toml ./
|
|
COPY crates crates
|
|
RUN cargo chef prepare --recipe-path recipe.json
|
|
|
|
FROM chef AS builder
|
|
COPY --from=planner /app/recipe.json recipe.json
|
|
RUN cargo chef cook --profile release --recipe-path recipe.json
|
|
COPY . .
|
|
RUN cargo build --release --bin git-next --all-features && \
|
|
strip target/release/git-next
|
|
|
|
FROM docker.io/debian:stable-20240904-slim AS runtime
|
|
WORKDIR /app
|
|
RUN apt-get update && \
|
|
apt-get satisfy -y "git (>=2.39), libssl3 (>=3.0.14), libdbus-1-dev (>=1.14.10), ca-certificates (>=20230311)" \
|
|
&& \
|
|
rm -rf /var/lib/apt/lists/*
|
|
USER 1000
|
|
COPY --from=builder /app/target/release/git-next /usr/local/bin
|
|
|
|
ENV HOME=/app
|
|
|
|
ENTRYPOINT [ "/usr/local/bin/git-next" ]
|
|
CMD [ "server", "start" ]
|