Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions codeserver/ubi9-python-3.12/Dockerfile.konflux.cpu
Original file line number Diff line number Diff line change
Expand Up @@ -130,13 +130,14 @@ ENV PYTHONPATH=/opt/app-root/bin/python3

USER 1001

# Install useful packages from Pipfile.lock
COPY ${CODESERVER_SOURCE_CODE}/Pipfile.lock ./
# Install useful packages from requirements.txt
COPY ${CODESERVER_SOURCE_CODE}/pylock.toml ./

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 For consistency, the comment should refer to pylock.toml instead of requirements.txt, as that is the file being used for installation.

Suggested change
# Install useful packages from pylock.toml

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# Install packages and cleanup
RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Fix permissions to support pip in Openshift environments \
chmod -R g+w /opt/app-root/lib/python3.12/site-packages && \
fix-permissions /opt/app-root -P
Expand Down
9 changes: 5 additions & 4 deletions jupyter/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,15 @@ ENV PATH="$PATH:/opt/mssql-tools18/bin"
# Other apps and tools installed as default user
USER 1001

# Install Python packages and Jupyterlab extensions from Pipfile.lock
COPY ${DATASCIENCE_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages and Jupyterlab extensions from requirements.txt
COPY ${DATASCIENCE_SOURCE_CODE}/pylock.toml ./
# Copy Elyra setup to utils so that it's sourced at startup
COPY ${DATASCIENCE_SOURCE_CODE}/setup-elyra.sh ${DATASCIENCE_SOURCE_CODE}/utils ./utils/

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# setup path for runtime configuration
mkdir /opt/app-root/runtimes && \
mkdir /opt/app-root/pipeline-runtimes && \
Expand Down
9 changes: 5 additions & 4 deletions jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.cpu
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,13 @@ ENV PATH="/usr/local/texlive/bin/linux:/usr/local/pandoc/bin:$PATH"

USER 1001

COPY ${MINIMAL_SOURCE_CODE}/Pipfile.lock ${MINIMAL_SOURCE_CODE}/start-notebook.sh ./
COPY ${MINIMAL_SOURCE_CODE}/pylock.toml ${MINIMAL_SOURCE_CODE}/start-notebook.sh ./

# Install Python dependencies from Pipfile.lock file
# Install Python dependencies from requirements.txt file
RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Disable announcement plugin of jupyterlab \
jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \
# Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \
Expand Down
9 changes: 5 additions & 4 deletions jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -163,12 +163,13 @@ ENV PATH="/usr/local/texlive/bin/linux:/usr/local/pandoc/bin:$PATH"

USER 1001

COPY ${MINIMAL_SOURCE_CODE}/Pipfile.lock ${MINIMAL_SOURCE_CODE}/start-notebook.sh ./
COPY ${MINIMAL_SOURCE_CODE}/pylock.toml ${MINIMAL_SOURCE_CODE}/start-notebook.sh ./

# Install Python dependencies from Pipfile.lock file
# Install Python dependencies from requirements.txt file
RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Disable announcement plugin of jupyterlab \
jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \
# Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \
Expand Down
7 changes: 4 additions & 3 deletions jupyter/minimal/ubi9-python-3.12/Dockerfile.konflux.rocm
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,13 @@ ENV PATH="/usr/local/texlive/bin/linux:/usr/local/pandoc/bin:$PATH"

USER 1001

COPY ${MINIMAL_SOURCE_CODE}/Pipfile.lock ${MINIMAL_SOURCE_CODE}/start-notebook.sh ./
COPY ${MINIMAL_SOURCE_CODE}/pylock.toml ${MINIMAL_SOURCE_CODE}/start-notebook.sh ./

# Install Python dependencies from Pipfile.lock file
RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Disable announcement plugin of jupyterlab \
jupyter labextension disable "@jupyterlab/apputils-extension:announcements" && \
# Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \
Expand Down
9 changes: 5 additions & 4 deletions jupyter/pytorch/ubi9-python-3.12/Dockerfile.konflux.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -215,12 +215,13 @@ ARG PYTORCH_SOURCE_CODE=jupyter/pytorch/ubi9-python-3.12

WORKDIR /opt/app-root/bin

# Install Python packages and Jupyterlab extensions from Pipfile.lock
COPY ${PYTORCH_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages and Jupyterlab extensions from requirements.txt
COPY ${PYTORCH_SOURCE_CODE}/pylock.toml ./

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# setup path for runtime configuration
mkdir /opt/app-root/runtimes && \
# Remove default Elyra runtime-images \
Expand Down
7 changes: 4 additions & 3 deletions jupyter/rocm/pytorch/ubi9-python-3.12/Dockerfile.konflux.rocm
Original file line number Diff line number Diff line change
Expand Up @@ -148,11 +148,12 @@ ARG PYTORCH_SOURCE_CODE=jupyter/rocm/pytorch/ubi9-python-3.12

WORKDIR /opt/app-root/bin

COPY ${PYTORCH_SOURCE_CODE}/Pipfile.lock ${PYTORCH_SOURCE_CODE}/de-vendor-torch.sh ./
COPY ${PYTORCH_SOURCE_CODE}/pylock.toml ${PYTORCH_SOURCE_CODE}/de-vendor-torch.sh ./

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# setup path for runtime configuration
mkdir /opt/app-root/runtimes && \
# Remove default Elyra runtime-images \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,13 +159,13 @@ ARG TENSORFLOW_SOURCE_CODE=jupyter/rocm/tensorflow/ubi9-python-3.12

WORKDIR /opt/app-root/bin

COPY ${TENSORFLOW_SOURCE_CODE}/requirements.txt ./
COPY ${TENSORFLOW_SOURCE_CODE}/pylock.toml ./

RUN echo "Installing softwares and packages" && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
Comment on lines 165 to 166

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 This comment refers to requirements.txt, but the file has been changed to pylock.toml. Please update the comment for consistency.

Suggested change
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
# Not using --build-constraints=./pylock.toml because error: Unnamed requirements are not allowed as constraints (found: `https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# Not using --build-constraints=./requirements.txt because error: Unnamed requirements are not allowed as constraints (found: `https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./requirements.txt && \
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# setup path for runtime configuration
mkdir /opt/app-root/runtimes && \
# Remove default Elyra runtime-images \
Expand Down
9 changes: 5 additions & 4 deletions jupyter/tensorflow/ubi9-python-3.12/Dockerfile.konflux.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -220,12 +220,13 @@ ARG TENSORFLOW_SOURCE_CODE=jupyter/tensorflow/ubi9-python-3.12

WORKDIR /opt/app-root/bin

# Install Python packages and Jupyterlab extensions from Pipfile.lock
COPY ${TENSORFLOW_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages and Jupyterlab extensions from requirements.txt
COPY ${TENSORFLOW_SOURCE_CODE}/pylock.toml ./

RUN echo "Installing softwares and packages" && \
micropipenv install --dev && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# setup path for runtime configuration
mkdir /opt/app-root/runtimes && \
# Remove default Elyra runtime-images \
Expand Down
9 changes: 5 additions & 4 deletions jupyter/trustyai/ubi9-python-3.12/Dockerfile.konflux.cpu
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,13 @@ RUN INSTALL_PKGS="java-17-openjdk" && \

USER 1001

# Install Python packages and Jupyterlab extensions from Pipfile.lock
COPY ${TRUSTYAI_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages and Jupyterlab extensions from requirements.txt
COPY ${TRUSTYAI_SOURCE_CODE}/pylock.toml ./

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# setup path for runtime configuration
mkdir /opt/app-root/runtimes && \
# Remove default Elyra runtime-images \
Expand Down
9 changes: 5 additions & 4 deletions runtimes/datascience/ubi9-python-3.12/Dockerfile.konflux.cpu
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,15 @@ ARG DATASCIENCE_SOURCE_CODE=runtimes/datascience/ubi9-python-3.12

WORKDIR /opt/app-root/bin

# Install Python packages from Pipfile.lock
COPY ${DATASCIENCE_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages from requirements.txt
COPY ${DATASCIENCE_SOURCE_CODE}/pylock.toml ./
# Copy Elyra dependencies for air-gapped enviroment
COPY ${DATASCIENCE_SOURCE_CODE}/utils ./utils/

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Fix permissions to support pip in Openshift environments \
chmod -R g+w /opt/app-root/lib/python3.12/site-packages && \
fix-permissions /opt/app-root -P
Expand Down
9 changes: 5 additions & 4 deletions runtimes/minimal/ubi9-python-3.12/Dockerfile.konflux.cpu
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,15 @@ ARG MINIMAL_SOURCE_CODE=runtimes/minimal/ubi9-python-3.12

WORKDIR /opt/app-root/bin

# Install Python packages from Pipfile.lock
COPY ${MINIMAL_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages from requirements.txt
COPY ${MINIMAL_SOURCE_CODE}/pylock.toml ./
# Copy Elyra dependencies for air-gapped enviroment
COPY ${MINIMAL_SOURCE_CODE}/utils ./utils/

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Fix permissions to support pip in Openshift environments \
chmod -R g+w /opt/app-root/lib/python3.12/site-packages && \
fix-permissions /opt/app-root -P
Expand Down
9 changes: 5 additions & 4 deletions runtimes/pytorch/ubi9-python-3.12/Dockerfile.konflux.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -141,14 +141,15 @@ ARG PYTORCH_SOURCE_CODE=runtimes/pytorch/ubi9-python-3.12

WORKDIR /opt/app-root/bin

# Install Python packages from Pipfile.lock
COPY ${PYTORCH_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages from requirements.txt
COPY ${PYTORCH_SOURCE_CODE}/pylock.toml ./
# Copy Elyra dependencies for air-gapped enviroment
COPY ${PYTORCH_SOURCE_CODE}/utils ./utils/

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Fix permissions to support pip in Openshift environments \
chmod -R g+w /opt/app-root/lib/python3.12/site-packages && \
fix-permissions /opt/app-root -P
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,16 +73,17 @@ ARG PYTORCH_SOURCE_CODE=runtimes/rocm-pytorch/ubi9-python-3.12

WORKDIR /opt/app-root/bin

# Install Python packages from Pipfile.lock
COPY ${PYTORCH_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages from requirements.txt
COPY ${PYTORCH_SOURCE_CODE}/pylock.toml ./
# Copy Elyra dependencies for air-gapped enviroment
COPY ${PYTORCH_SOURCE_CODE}/utils ./utils/
# Copy utility script
COPY ${PYTORCH_SOURCE_CODE}/de-vendor-torch.sh ./

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# De-vendor the ROCm libs that are embedded in Pytorch \
./de-vendor-torch.sh && \
rm ./de-vendor-torch.sh && \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,15 @@ ARG TENSORFLOW_SOURCE_CODE=runtimes/rocm-tensorflow/ubi9-python-3.12
WORKDIR /opt/app-root/bin

# Install Python packages from requirements.txt
COPY ${TENSORFLOW_SOURCE_CODE}/requirements.txt ./
COPY ${TENSORFLOW_SOURCE_CODE}/pylock.toml ./
# Copy Elyra dependencies for air-gapped enviroment
COPY ${TENSORFLOW_SOURCE_CODE}/utils ./utils/

RUN echo "Installing softwares and packages" && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
# Not using --build-constraints=./requirements.txt because error: Unnamed requirements are not allowed as constraints (found: `https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4/
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./requirements.txt && \
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Fix permissions to support pip in Openshift environments \
chmod -R g+w /opt/app-root/lib/python3.12/site-packages && \
fix-permissions /opt/app-root -P
Expand All @@ -95,4 +95,4 @@ LABEL name="rhoai/odh-pipeline-runtime-tensorflow-rocm-py312-rhel9" \
summary="Runtime ROCm tensorflow notebook image for ODH notebooks" \
description="Runtime ROCm tensorflow notebook image with base Python 3.12 builder image based on UBI9 for ODH notebooks" \
io.k8s.description="Runtime ROCm tensorflow notebook image with base Python 3.12 builder image based on UBI9 for ODH notebooks" \
com.redhat.license_terms="https://www.redhat.com/licenses/Red_Hat_Standard_EULA_20191108.pdf"
com.redhat.license_terms="https://www.redhat.com/licenses/Red_Hat_Standard_EULA_20191108.pdf"
9 changes: 5 additions & 4 deletions runtimes/tensorflow/ubi9-python-3.12/Dockerfile.konflux.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -146,14 +146,15 @@ ARG TENSORFLOW_SOURCE_CODE=runtimes/tensorflow/ubi9-python-3.12

WORKDIR /opt/app-root/bin

# Install Python packages from Pipfile.lock
COPY ${TENSORFLOW_SOURCE_CODE}/Pipfile.lock ./
# Install Python packages from requirements.txt
COPY ${TENSORFLOW_SOURCE_CODE}/pylock.toml ./
# Copy Elyra dependencies for air-gapped enviroment
COPY ${TENSORFLOW_SOURCE_CODE}/utils ./utils/

RUN echo "Installing softwares and packages" && \
micropipenv install && \
rm -f ./Pipfile.lock && \
# This may have to download and compile some dependencies, and as we don't lock requirements from `build-system.requires`,
# we often don't know the correct hashes and `--require-hashes` would therefore fail on non amd64, where building is common.
uv pip install --strict --no-deps --no-cache --no-config --no-progress --verify-hashes --compile-bytecode --index-strategy=unsafe-best-match --requirements=./pylock.toml && \
# Fix permissions to support pip in Openshift environments \
chmod -R g+w /opt/app-root/lib/python3.12/site-packages && \
fix-permissions /opt/app-root -P
Expand Down
Loading