1313# environment with awk. Every RUN must start at column 0 with `RUN ` and
1414# use `&& \` continuations.
1515
16+ # Tool versions are the source of truth for generic-fetcher.yaml. Renovate
17+ # updates annotated versions in both files; then run
18+ # `deploy/konflux/e2e-odh/sync-generic-fetcher.py --update all` to refresh the
19+ # amd64 and arm64 checksums.
20+ # renovate: datasource=docker depName=quay.io/openshift-release-dev/ocp-release extractVersion=^(?<version>4\.\d+\.\d+)-x86_64$
1621ARG OC_VERSION=4.20.0
22+ # renovate: datasource=github-releases depName=helm/helm extractVersion=^v(?<version>.+)$
1723ARG HELM_VERSION=4.2.0
24+ # renovate: datasource=github-releases depName=nextest-rs/nextest extractVersion=^cargo-nextest-(?<version>.+)$
1825ARG NEXTEST_VERSION=0.9.143
26+ # renovate: datasource=github-releases depName=astral-sh/uv
27+ ARG UV_VERSION=0.13.1
1928
2029FROM registry.redhat.io/rust-builder-image/rust-rhel9:1.99.0@sha256:b00aaa63f7d6f5b857c170e4aed9d77f013f507ba97e72ebfcac48a7d3760310 AS builder
2130
2231# The builder image runs as 1001 and already ships gcc, gcc-c++, make,
23- # cmake, openssl-devel, git and tar, so no dnf step. Root writes /usr/local/bin.
32+ # cmake, openssl-devel, git and tar. Install Python for the locked E2E test
33+ # environment; root writes /usr/local/bin.
2434USER 0
2535
2636ARG NEXTEST_VERSION
37+ ARG UV_VERSION
2738ARG TARGETARCH
2839ARG OPENSHELL_VERSION=""
2940
30- RUN dnf install -y --nodocs --setopt=install_weak_deps=0 python3.11 && \
31- dnf clean all
32-
41+ RUN dnf install -y --nodocs --setopt=install_weak_deps=0 python3.11 \
42+ && dnf clean all
3343RUN RUST_ARCH=$(case "${TARGETARCH}" in amd64) echo x86_64;; arm64) echo aarch64;; *) exit 1;; esac) && \
3444 RUST_TRIPLE="${RUST_ARCH}-unknown-linux-gnu" && \
3545 tar xzf "/cachi2/output/deps/generic/cargo-nextest-${NEXTEST_VERSION}-${RUST_TRIPLE}.tar.gz" \
@@ -64,7 +74,7 @@ RUN VER="${OPENSHELL_VERSION#v}" && \
6474 --archive-file /opt/openshell/e2e-odh.tar.zst
6575
6676RUN UV_ARCH=$(case "${TARGETARCH}" in amd64) echo x86_64;; arm64) echo aarch64;; *) exit 1;; esac) && \
67- tar xzf "/cachi2/output/deps/generic/uv-${UV_ARCH}-unknown-linux-gnu.tar.gz" \
77+ tar xzf "/cachi2/output/deps/generic/uv-${UV_VERSION}-${ UV_ARCH}-unknown-linux-gnu.tar.gz" \
6878 -C /tmp && \
6979 install -m 0555 "/tmp/uv-${UV_ARCH}-unknown-linux-gnu/uv" /usr/local/bin/uv
7080COPY odh/requirements.txt /tmp/requirements.txt
@@ -77,6 +87,7 @@ FROM registry.access.redhat.com/ubi9/ubi:9.8@sha256:25a147defd01e19674714f55d175
7787
7888ARG OC_VERSION
7989ARG HELM_VERSION
90+ ARG UV_VERSION
8091ARG TARGETARCH
8192
8293RUN dnf install -y --nodocs --setopt=install_weak_deps=0 \
@@ -101,7 +112,7 @@ RUN OC_ARCH=$(case "${TARGETARCH}" in amd64) echo amd64;; arm64) echo arm64;; *)
101112 tar xzf "/cachi2/output/deps/generic/helm-v${HELM_VERSION}-linux-${OC_ARCH}.tar.gz" \
102113 -C /tmp/helm && \
103114 install -m 0555 "/tmp/helm/linux-${OC_ARCH}/helm" /usr/local/bin/helm && \
104- tar xzf "/cachi2/output/deps/generic/uv-${UV_ARCH}-unknown-linux-gnu.tar.gz" \
115+ tar xzf "/cachi2/output/deps/generic/uv-${UV_VERSION}-${ UV_ARCH}-unknown-linux-gnu.tar.gz" \
105116 -C /tmp && \
106117 install -m 0555 "/tmp/uv-${UV_ARCH}-unknown-linux-gnu/uv" /usr/local/bin/uv
107118
@@ -115,6 +126,7 @@ COPY --chown=1001:1001 .config/ .config/
115126COPY --chown=1001:1001 crates/ crates/
116127COPY --chown=1001:1001 proto/ proto/
117128COPY --from=builder --chown=1001:1001 /home/odh/openshell-e2e-odh/python/ python/
129+ COPY --chown=1001:1001 sdk/conformance/ sdk/conformance/
118130COPY --chown=1001:1001 providers/ providers/
119131COPY --chown=1001:1001 examples/ examples/
120132COPY --chown=1001:1001 e2e/ e2e/
0 commit comments