Compare commits

...
Author SHA1 Message Date
4c6fbd1e4c
fix(otel): silence otelsdk warnings in build-one
The build-env images set an OTEL traces/logs/metrics exporter, but otelsdk
isn't installed, so pak's otel instrumentation logs 'no package called otelsdk'.
OTEL_SDK_DISABLED is ignored by the R otel package; it gates on
OTEL_R_<SIGNAL>_EXPORTER. Set those to 'none' so the R otel providers are a
clean no-op (without disabling OTel for any non-R tooling).
2026-06-30 14:23:02 +02:00
ac5a842081
fix(patches): build-one image bincraft v4.4.0 + ship patch registry
The targeted rebuild Dockerfile still pinned bincraft v4.2.1 (predates the
patches argument), so build-one.R's patches= call would error. Bump to v4.4.0
to match the .crow workflows.
Also COPY the patch registry into the image so patches='local/patches'
resolves at /work/local/patches instead of silently no-opping.
2026-06-30 14:14:54 +02:00

View file

@ -16,6 +16,9 @@ ARG CACHEBUST
WORKDIR /work
COPY build-one.R /work/build-one.R
# Ship the patch registry so build-one.R's `patches = "local/patches"` resolves
# (build context is `local/`, CWD is /work).
COPY patches /work/local/patches
RUN --mount=type=secret,id=b2_access,required=true \
--mount=type=secret,id=b2_secret,required=true \
@ -27,6 +30,9 @@ RUN --mount=type=secret,id=b2_access,required=true \
export GITHUB_PAT="$(cat /run/secrets/github_pat 2>/dev/null || true)" && \
export GIT_TERMINAL_PROMPT=0 && \
export OTEL_SDK_DISABLED=true && \
export OTEL_R_TRACES_EXPORTER=none && \
export OTEL_R_LOGS_EXPORTER=none && \
export OTEL_R_METRICS_EXPORTER=none && \
XVFB=$(command -v xwfb-run 2>/dev/null || command -v xvfb-run || true); \
XVFB_ARGS=""; \
if command -v xwfb-run >/dev/null 2>&1; then dnf install -y -q weston 2>/dev/null; XVFB_ARGS="-c weston"; fi; \
@ -37,7 +43,7 @@ RUN --mount=type=secret,id=b2_access,required=true \
echo "No working virtual display; building without xvfb" >&2; \
fi; \
run_build() { if [ "$USE_XVFB" = 1 ]; then $XVFB -a $XVFB_ARGS -- "$@"; else "$@"; fi; }; \
ensure_bincraft() { "$1" -q -e 'if (!requireNamespace("bincraft", quietly = TRUE) || packageVersion("bincraft") != "4.2.1") pak::pak("git::https://codefloe.com/rpkgs/bincraft.git@v4.2.1")'; }; \
ensure_bincraft() { "$1" -q -e 'if (!requireNamespace("bincraft", quietly = TRUE) || packageVersion("bincraft") != "4.4.0") pak::pak("git::https://codefloe.com/rpkgs/bincraft.git@v4.4.0")'; }; \
PRIMARY_MINOR=$(echo "$R_VERSION" | cut -d. -f1-2); \
seen=" $PRIMARY_MINOR "; \
prc=0; failed=""; \