docker: Propagate arguments into the image environment.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-05-30 21:15:56 +00:00
parent b7d26c0fbf
commit b86d414f28
4 changed files with 28 additions and 6 deletions

View File

@@ -8,6 +8,10 @@ ARG CARGO_HOME
ARG CARGO_TARGET
ARG CARGO_TARGET_DIR
ARG CARGO_BUILD_RUSTFLAGS
ARG CARGO_PROFILE_test_DEBUG
ARG CARGO_PROFILE_bench_DEBUG
ARG CARGO_PROFILE_bench_LTO
ARG CARGO_PROFILE_bench_CODEGEN_UNITS
ARG cargo_profile
ARG cargo_features
ARG cargo_spec_features
@@ -20,7 +24,12 @@ COPY --from=rocksdb . .
WORKDIR /usr/src/tuwunel
COPY --from=recipe recipe.json .
ENV CARGO_BUILD_RUSTFLAGS=${CARGO_BUILD_RUSTFLAGS}
ENV CARGO_TARGET_DIR="${CARGO_TARGET_DIR}"
ENV CARGO_BUILD_RUSTFLAGS="${CARGO_BUILD_RUSTFLAGS}"
ENV CARGO_PROFILE_test_DEBUG="${CARGO_PROFILE_test_DEBUG}"
ENV CARGO_PROFILE_bench_DEBUG="${CARGO_PROFILE_bench_DEBUG}"
ENV CARGO_PROFILE_bench_LTO="${CARGO_PROFILE_bench_LTO}"
ENV CARGO_PROFILE_bench_CODEGEN_UNITS="${CARGO_PROFILE_bench_CODEGEN_UNITS}"
RUN \
--mount=type=cache,dst=${RUSTUP_HOME},sharing=locked \
--mount=type=cache,dst=${CARGO_HOME},sharing=locked \

View File

@@ -5,12 +5,17 @@ ARG rust_toolchain
ARG RUSTUP_HOME
ARG CARGO_HOME
ARG CARGO_TARGET
ARG CARGO_TERM_VERBOSE
ARG rustup_version="1.28.1"
ARG rustup_components
WORKDIR /
COPY --link --from=input . .
ENV RUSTUP_HOME="${RUSTUP_HOME}"
ENV CARGO_HOME="${CARGO_HOME}"
ENV CARGO_TARGET="${CARGO_TARGET}"
ENV CARGO_TERM_VERBOSE="${CARGO_TERM_VERBOSE}"
WORKDIR /opt
RUN \
--mount=type=cache,dst=${RUSTUP_HOME},sharing=locked \

View File

@@ -24,11 +24,19 @@ ARG RUSTUP_HOME
ARG CARGO_HOME
ARG CARGO_TARGET
ARG CARGO_TERM_VERBOSE=0
ARG RUST_BACKTRACE
ARG JEMALLOC_OVERRIDE
#ARG ZSTD_SYS_USE_PKG_CONFIG=0
#ARG ROCKSDB_LIB_DIR
WORKDIR /usr/src/tuwunel
COPY --link --from=source /usr/src/tuwunel .
ENV CARGO_TERM_VERBOSE="${CARGO_TERM_VERBOSE}"
ENV RUST_BACKTRACE="${RUST_BACKTRACE}"
ENV JEMALLOC_OVERRIDE="${JEMALLOC_OVERRIDE}"
#ENV ZSTD_SYS_USE_PKG_CONFIG="${ZSTD_SYS_USE_PKG_CONFIG}"
#ENV ROCKSDB_LIB_DIR="${ROCKSDB_LIB_DIR}"
RUN \
--mount=type=cache,dst=${RUSTUP_HOME},sharing=locked \
--mount=type=cache,dst=${CARGO_HOME},sharing=locked \

View File

@@ -118,7 +118,7 @@ variable "use_chef" {
# Options for output verbosity
variable "BUILDKIT_PROGRESS" {}
variable "CARGO_TERM_VERBOSE" {
default = BUILDKIT_PROGRESS == "plain"? 1: 0
default = BUILDKIT_PROGRESS == "plain"? "true": "false"
}
variable "docker_dir" {
@@ -1195,10 +1195,10 @@ target "ingredients" {
CARGO_TERM_VERBOSE = CI == "true"
RUST_BACKTRACE = "full"
ROCKSDB_LIB_DIR="/usr/lib/${sys_target}"
JEMALLOC_OVERRIDE="/usr/lib/${sys_target}/libjemalloc.so"
ZSTD_SYS_USE_PKG_CONFIG = (
contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")? 1: 0
)
JEMALLOC_OVERRIDE="/usr/lib/${sys_target}/libjemalloc.a"
#ZSTD_SYS_USE_PKG_CONFIG = (
# contains(split(",", cargo_feat_sets[feat_set]), "zstd_compression")? 1: 0
#)
}
}