mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-27 15:40:36 +08:00
build: switch to build args over env vars in dockerfile
`--env` is a podman-specific feature. While it is clear that podman is a requirement here, switching these to build arguments better expresses intent. These values are meant to be configurable at build time, which is exactly what build arguments are for, while environment variables are meant to persist in the image built. Additionally, this removes unused env vars. Signed-off-by: Yorgos Saslis <yorgos.work@proton.me>
This commit is contained in:
committed by
Sebastian Martinez
parent
a4e0d21bad
commit
730f7ae1fc
@@ -4,6 +4,11 @@ LABEL maintainer="Radicle Team <team@radicle.xyz>"
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
|
||||
ARG TZ
|
||||
ARG LC_ALL
|
||||
ARG SOURCE_DATE_EPOCH
|
||||
ARG RADICLE_VERSION
|
||||
|
||||
# Copy cargo configuration we're going to use to specify compiler options.
|
||||
RUN mkdir -p .cargo && cp build/config.toml .cargo/config.toml
|
||||
# Install dependencies.
|
||||
@@ -49,6 +54,10 @@ RUN cargo zigbuild --locked --release \
|
||||
# Now copy the files to a new image without all the intermediary artifacts to
|
||||
# save some space.
|
||||
FROM alpine:3.19 as packager
|
||||
|
||||
ARG RADICLE_VERSION
|
||||
ARG SOURCE_DATE_EPOCH
|
||||
|
||||
COPY --from=builder \
|
||||
/src/target/x86_64-unknown-linux-musl/release/rad-web \
|
||||
/src/target/x86_64-unknown-linux-musl/release/radicle-httpd \
|
||||
@@ -77,7 +86,7 @@ RUN find * -maxdepth 0 -type d -exec mv '{}' "radicle-$RADICLE_VERSION-{}" \; &&
|
||||
find * -maxdepth 0 -type d -exec tar \
|
||||
--sort=name \
|
||||
--verbose \
|
||||
--mtime="@$GIT_COMMIT_TIME" \
|
||||
--mtime="@$SOURCE_DATE_EPOCH" \
|
||||
--owner=0 \
|
||||
--group=0 \
|
||||
--numeric-owner \
|
||||
|
||||
@@ -49,12 +49,10 @@ main() {
|
||||
case "$OS" in
|
||||
Darwin)
|
||||
podman build \
|
||||
--env SOURCE_DATE_EPOCH \
|
||||
--env TZ \
|
||||
--env LC_ALL \
|
||||
--env GIT_COMMIT_TIME=$SOURCE_DATE_EPOCH \
|
||||
--env GIT_HEAD=$rev \
|
||||
--env RADICLE_VERSION=$version \
|
||||
--build-arg SOURCE_DATE_EPOCH \
|
||||
--build-arg TZ \
|
||||
--build-arg LC_ALL \
|
||||
--build-arg RADICLE_VERSION=$version \
|
||||
--arch aarch64 --tag $image -f ./build/Dockerfile - <$gitarchive
|
||||
|
||||
echo "Creating container (radicle-build-container).."
|
||||
@@ -62,12 +60,10 @@ main() {
|
||||
;;
|
||||
*)
|
||||
podman --cgroup-manager=cgroupfs build \
|
||||
--env SOURCE_DATE_EPOCH \
|
||||
--env TZ \
|
||||
--env LC_ALL \
|
||||
--env GIT_COMMIT_TIME=$SOURCE_DATE_EPOCH \
|
||||
--env GIT_HEAD=$rev \
|
||||
--env RADICLE_VERSION=$version \
|
||||
--build-arg SOURCE_DATE_EPOCH \
|
||||
--build-arg TZ \
|
||||
--build-arg LC_ALL \
|
||||
--build-arg RADICLE_VERSION=$version \
|
||||
--arch amd64 --tag $image -f ./build/Dockerfile - <$gitarchive
|
||||
|
||||
echo "Creating container (radicle-build-container).."
|
||||
|
||||
Reference in New Issue
Block a user