Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
aae0a60
Add multiarch-push-pipeline config
atheo89 Sep 3, 2025
076ef9b
Merge pull request #2270 from atheo89/multiplatform
atheo89 Sep 4, 2025
52cee92
Update minimal cpu, cuda and rocm flavors to use args
atheo89 Sep 1, 2025
80a5cbb
Update runtime minimal Dockefile to use ARG
atheo89 Sep 1, 2025
d73e65c
Update pipelines to consume build-args file
atheo89 Sep 1, 2025
03f1dd7
Update Datascience and its runtime to use arg base_image as well as u…
atheo89 Sep 1, 2025
a801c39
Update pytorch cuda and its runtime as well as its tekton pipelines
atheo89 Sep 1, 2025
6027bcf
Update pytorch_llmcompressor and its runtime as well as the tekton pi…
atheo89 Sep 2, 2025
dbb5ee5
Update pytorch rocm and its runtime as well as the tekton pipelines
atheo89 Sep 2, 2025
23b1046
Update tensorflow-rocm and its runtime as well as the tekton pipilines
atheo89 Sep 2, 2025
f224482
Update tensorflow and its runtime as well as the tekton pipelines
atheo89 Sep 2, 2025
e06b68c
Update trusty and its tekton pipeline
atheo89 Sep 2, 2025
2270a47
Update codeserver as well as its pipeline
atheo89 Sep 2, 2025
f71bc18
Update RStudio c9s flavos and its pipelines
atheo89 Sep 2, 2025
d31d423
Update the generate_pull_request_pipelineruns.py to track the build-a…
atheo89 Sep 2, 2025
a742c56
clean up from unused commands
atheo89 Sep 3, 2025
8134f76
configuration ARGs should be on the top level on the Dockerfile
atheo89 Sep 3, 2025
d0fccc2
Update base images with the real odh base images
atheo89 Sep 3, 2025
904bf23
Fix path on runtime minimal conf file
atheo89 Sep 4, 2025
a7b8f66
RHAIENG-308, #2242: tests(make): enforce version parity validation be…
jiridanek Sep 4, 2025
798bfe2
Recomented fixes noted by code rabit
atheo89 Sep 4, 2025
00d9f61
Replace yum with dnf to have better consistency among the Dockerfiles
atheo89 Sep 4, 2025
70b47db
Add missing matrix for multiplatform builds
atheo89 Sep 4, 2025
db1dca1
Merge pull request #2273 from atheo89/multiplatform
atheo89 Sep 4, 2025
410b27d
Update odh-base-image-cuda-py312-c9s-push.yaml
atheo89 Sep 4, 2025
20c2636
Merge pull request #2272 from atheo89/dnf-update
atheo89 Sep 4, 2025
b82d67e
Update odh-base-image-cuda-py312-ubi9-push.yaml
atheo89 Sep 4, 2025
894c00c
Fix build matrix
atheo89 Sep 4, 2025
1196d34
Merge pull request #2274 from atheo89/multiplatform
atheo89 Sep 4, 2025
1bfafea
Update odh-base-image-cuda-py312-ubi9-push.yaml
atheo89 Sep 4, 2025
9faf7f7
Update odh-base-image-cuda-py312-ubi9-push.yaml
atheo89 Sep 4, 2025
d8d2bc6
Merge pull request #2275 from atheo89/multiplatform
atheo89 Sep 4, 2025
d902a8e
Update odh-base-image-cuda-py312-ubi9-push.yaml
atheo89 Sep 4, 2025
f3c6c47
Update multiarch-push-pipeline.yaml
atheo89 Sep 4, 2025
ae56a5c
Update odh-base-image-cuda-py312-ubi9-push.yaml
atheo89 Sep 4, 2025
3a6d985
Update multiarch-push-pipeline.yaml
atheo89 Sep 4, 2025
c53b52b
Update odh-base-image-cuda-py312-ubi9-push.yaml
atheo89 Sep 4, 2025
f410e35
Update odh-base-image-cuda-py311-c9s-push.yaml
atheo89 Sep 4, 2025
341d899
Update odh-base-image-cuda-py312-c9s-push.yaml
atheo89 Sep 4, 2025
61d33e7
chore(deps): update konflux references (#2108)
red-hat-konflux[bot] Sep 4, 2025
c553a86
Update multiarch-push-pipeline.yaml
atheo89 Sep 4, 2025
ae521a6
Update odh-base-image-cuda-py312-c9s-push.yaml
atheo89 Sep 4, 2025
1fecb8e
RHAIENG-308, #2242: tests(make): add pyproject version alignment test…
jiridanek Sep 4, 2025
f8b07f5
Update multiarch-push-pipeline.yaml
atheo89 Sep 4, 2025
84e3874
Update odh-base-image-cuda-py311-c9s-push.yaml
atheo89 Sep 4, 2025
00dff74
Update odh-base-image-cuda-py312-c9s-push.yaml
atheo89 Sep 4, 2025
1bd738f
Update odh-base-image-cuda-py312-ubi9-push.yaml
atheo89 Sep 4, 2025
fc46ec1
RHAIENG-308, #2242: tests(make): handle rstudio in a rhds-compatible …
jiridanek Sep 5, 2025
93c0810
RHAIENG-816: fix(jupyter/rocm/tensorflow/ubi9-python-3.12): image has…
jiridanek Sep 5, 2025
99698b7
Merge pull request #2271 from atheo89/RHAIENG-779
atheo89 Sep 5, 2025
ae63572
chore(deps): update odh-workbench-codeserver-datascience-cpu-py312-ub…
red-hat-konflux[bot] Sep 5, 2025
2ad0673
Merge pull request #2280 from opendatahub-io/konflux/component-update…
github-actions[bot] Sep 5, 2025
1783197
chore(deps): update odh-workbench-jupyter-datascience-cpu-py312-ubi9 …
red-hat-konflux[bot] Sep 5, 2025
1ff5c91
chore(deps): update odh-pipeline-runtime-datascience-cpu-py312-ubi9 t…
red-hat-konflux[bot] Sep 5, 2025
28d1db5
Merge pull request #2283 from opendatahub-io/konflux/component-update…
github-actions[bot] Sep 5, 2025
3f21665
Merge pull request #2282 from opendatahub-io/konflux/component-update…
github-actions[bot] Sep 5, 2025
41b4b85
Merge branch 'main' of https://github.com/opendatahub-io/notebooks in…
atheo89 Sep 5, 2025
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
652 changes: 652 additions & 0 deletions .tekton/multiarch-push-pipeline.yaml

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion .tekton/odh-base-image-cuda-py311-c9s-push.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
apiVersion: tekton.dev/v1
kind: PipelineRun
#test1
metadata:
annotations:
build.appstudio.openshift.io/repo: https://github.com/opendatahub-io/notebooks?rev={{revision}}
Expand Down Expand Up @@ -36,7 +37,7 @@ spec:
- '{{target_branch}}-{{revision}}'
- v12.6
pipelineRef:
Copy link

Choose a reason for hiding this comment

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

🟢 The change from multiarch-pull-request-pipeline to multiarch-push-pipeline is a good improvement, as it aligns the push pipeline with the new multi-arch build strategy.

name: multiarch-pull-request-pipeline
name: multiarch-push-pipeline
taskRunTemplate:
serviceAccountName: build-pipeline-odh-base-image-cuda-py311-c9s-poc
workspaces:
Expand Down
4 changes: 2 additions & 2 deletions .tekton/odh-base-image-cuda-py312-c9s-push.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: tekton.dev/v1
kind: PipelineRun
#test2
metadata:
#TEST
annotations:
build.appstudio.openshift.io/repo: https://github.com/opendatahub-io/notebooks?rev={{revision}}
build.appstudio.redhat.com/commit_sha: '{{revision}}'
Expand Down Expand Up @@ -37,7 +37,7 @@ spec:
- '{{target_branch}}-{{revision}}'
- v12.6
pipelineRef:
name: multiarch-pull-request-pipeline
name: multiarch-push-pipeline
taskRunTemplate:
serviceAccountName: build-pipeline-odh-base-image-cuda-py312-c9s-poc
workspaces:
Expand Down
4 changes: 2 additions & 2 deletions .tekton/odh-base-image-cuda-py312-ubi9-push.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: tekton.dev/v1
kind: PipelineRun
# test
#test2
metadata:
annotations:
build.appstudio.openshift.io/repo: https://github.com/opendatahub-io/notebooks?rev={{revision}}
Expand Down Expand Up @@ -37,7 +37,7 @@ spec:
- '{{target_branch}}-{{revision}}'
- v12.6
pipelineRef:
name: multiarch-pull-request-pipeline
name: multiarch-push-pipeline
taskRunTemplate:
serviceAccountName: build-pipeline-odh-base-image-cuda-py312-ubi9-poc
workspaces:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ metadata:
pipelinesascode.tekton.dev/max-keep-runs: '3'
pipelinesascode.tekton.dev/on-comment: ^/kfbuild\s+(all|odh\-pipeline\-runtime\-pytorch\-llmcompressor\-cuda\-py312\-ubi9|runtimes/pytorch\+llmcompressor/ubi9\-python\-3\.12)
pipelinesascode.tekton.dev/on-cel-expression: |
event == "pull_request" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-ubi9-pull-request.yaml".pathChanged() || "runtimes/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "cuda/**".pathChanged() )
event == "pull_request" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-ubi9-pull-request.yaml".pathChanged() || "runtimes/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "runtimes/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf".pathChanged() )
&& body.repository.full_name == "opendatahub-io/notebooks"
labels:
appstudio.openshift.io/application: opendatahub-release
Expand All @@ -40,6 +40,8 @@ spec:
value: runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
- name: path-context
value: .
- name: build-args-file
value: runtimes/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf
pipelineRef:
name: multiarch-pull-request-pipeline
taskRunTemplate:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
apiVersion: tekton.dev/v1
kind: PipelineRun
#test
metadata:
annotations:
build.appstudio.openshift.io/repo: https://github.com/opendatahub-io/notebooks?rev={{revision}}
Expand All @@ -9,7 +8,7 @@ metadata:
pipelinesascode.tekton.dev/cancel-in-progress: "false"
pipelinesascode.tekton.dev/max-keep-runs: "3"
build.appstudio.openshift.io/build-nudge-files: "manifests/base/params-latest.env"
pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-ubi9-push.yaml".pathChanged() || "runtimes/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "cuda/**".pathChanged() )
pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-ubi9-push.yaml".pathChanged() || "runtimes/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "runtimes/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf".pathChanged() )
creationTimestamp:
labels:
appstudio.openshift.io/application: opendatahub-release
Expand All @@ -29,6 +28,8 @@ spec:
value: quay.io/opendatahub/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-ubi9:{{revision}}
- name: dockerfile
value: runtimes/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
- name: build-args-file
value: runtimes/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf
- name: path-context
value: .
- name: additional-tags
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ metadata:
pipelinesascode.tekton.dev/max-keep-runs: '3'
pipelinesascode.tekton.dev/on-comment: ^/kfbuild\s+(all|odh\-workbench\-jupyter\-pytorch\-llmcompressor\-cuda\-py312\-ubi9|jupyter/pytorch\+llmcompressor/ubi9\-python\-3\.12)
pipelinesascode.tekton.dev/on-cel-expression: |
event == "pull_request" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9-pull-request.yaml".pathChanged() || "jupyter/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "cuda/**".pathChanged() || "jupyter/utils/**".pathChanged() || "jupyter/minimal/ubi9-python-3.12/start-notebook.sh".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mongodb-org-6.0.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mssql-2022.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/setup-elyra.sh".pathChanged() )
event == "pull_request" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9-pull-request.yaml".pathChanged() || "jupyter/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf".pathChanged() || "jupyter/utils/**".pathChanged() || "jupyter/minimal/ubi9-python-3.12/start-notebook.sh".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mongodb-org-6.0.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mssql-2022.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/setup-elyra.sh".pathChanged() )
&& body.repository.full_name == "opendatahub-io/notebooks"
labels:
appstudio.openshift.io/application: opendatahub-release
Expand All @@ -40,6 +40,8 @@ spec:
value: jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
- name: path-context
value: .
- name: build-args-file
value: jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf
pipelineRef:
name: multiarch-pull-request-pipeline
taskRunTemplate:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ metadata:
pipelinesascode.tekton.dev/cancel-in-progress: "false"
pipelinesascode.tekton.dev/max-keep-runs: "3"
build.appstudio.openshift.io/build-nudge-files: "manifests/base/params-latest.env"
pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9-push.yaml".pathChanged() || "jupyter/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "cuda/**".pathChanged() || "jupyter/utils/**".pathChanged() || "jupyter/minimal/ubi9-python-3.12/start-notebook.sh".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mongodb-org-6.0.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mssql-2022.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/setup-elyra.sh".pathChanged() )
pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9-push.yaml".pathChanged() || "jupyter/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() || "jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf".pathChanged() || "jupyter/utils/**".pathChanged() || "jupyter/minimal/ubi9-python-3.12/start-notebook.sh".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mongodb-org-6.0.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/mssql-2022.repo-x86_64/**".pathChanged() || "jupyter/datascience/ubi9-python-3.12/setup-elyra.sh".pathChanged() )
creationTimestamp:
labels:
appstudio.openshift.io/application: opendatahub-release
Expand All @@ -26,6 +26,8 @@ spec:
value: quay.io/opendatahub/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9:{{revision}}
- name: dockerfile
value: jupyter/pytorch+llmcompressor/ubi9-python-3.12/Dockerfile.cuda
- name: build-args-file
value: jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/cuda.conf
- name: path-context
value: .
- name: additional-tags
Expand Down
15 changes: 13 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,20 @@ endif
# ARG 2: Path of Dockerfile we want to build.
define build_image
$(eval IMAGE_NAME := $(IMAGE_REGISTRY):$(1)-$(IMAGE_TAG))
$(eval BUILD_ARGS :=)

$(info # Building $(IMAGE_NAME) image...)
# Checks if there’s a build-args/*.conf matching the Dockerfile
$(eval BUILD_DIR := $(dir $(2)))
$(eval DOCKERFILE_NAME := $(notdir $(2)))
$(eval CONF_FILE := $(BUILD_DIR)build-args/$(shell echo $(DOCKERFILE_NAME) | cut -d. -f2).conf)

# if the conf file exists, transform it into --build-arg KEY=VALUE flags
$(eval BUILD_ARGS := $(shell if [ -f $(CONF_FILE) ]; then \
while IFS='=' read -r k v; do \
[ -n "$$k" ] && printf -- "--build-arg %s=%s " "$$k" "$$v"; \
done < $(CONF_FILE); \
fi))

$(info # Building $(IMAGE_NAME) using $(DOCKERFILE_NAME) with $(CONF_FILE) and $(BUILD_ARGS)...)

Copy link

Choose a reason for hiding this comment

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

🟢 The addition of logic to handle build-args/*.conf files is a great enhancement. It makes the build process more flexible and easier to configure without modifying the Makefile directly.

$(ROOT_DIR)/scripts/sandbox.py --dockerfile '$(2)' --platform '$(BUILD_ARCH)' -- \
$(CONTAINER_ENGINE) build $(CONTAINER_BUILD_CACHE_ARGS) --platform=$(BUILD_ARCH) --label release=$(RELEASE) --tag $(IMAGE_NAME) --file '$(2)' $(BUILD_ARGS) {}\;
Expand Down
20 changes: 10 additions & 10 deletions base-images/cuda/12.6/c9s-python-3.11/Dockerfile.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3
ENV CUDA_VERSION=12.6.3

# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a
RUN yum upgrade -y && yum install -y \
RUN dnf upgrade -y && dnf install -y \
Copy link

Choose a reason for hiding this comment

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

🟢 Using dnf instead of yum is the correct approach for RHEL 9 based images. This ensures compatibility and leverages the latest package management features.

cuda-cudart-12-6-${NV_CUDA_CUDART_VERSION} \
cuda-compat-12-6 \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# nvidia-docker 1.0
Expand All @@ -67,20 +67,20 @@ ENV NV_LIBNCCL_VERSION=2.23.4
ENV NCCL_VERSION=2.23.4
ENV NV_LIBNCCL_PACKAGE=${NV_LIBNCCL_PACKAGE_NAME}-${NV_LIBNCCL_PACKAGE_VERSION}+cuda12.6

RUN yum install -y \
RUN dnf install -y \
cuda-libraries-12-6-${NV_CUDA_LIB_VERSION} \
cuda-nvtx-12-6-${NV_NVTX_VERSION} \
${NV_LIBNPP_PACKAGE} \
libcublas-12-6-${NV_LIBCUBLAS_VERSION} \
${NV_LIBNCCL_PACKAGE} \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Install devel tools
RUN yum install -y \
RUN dnf install -y \
make \
findutils \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Install CUDA cudnn9 from:
Expand All @@ -90,17 +90,17 @@ ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12-${NV_CUDNN_VERSION}

LABEL com.nvidia.cudnn.version="${NV_CUDNN_VERSION}"

RUN yum install -y \
RUN dnf install -y \
${NV_CUDNN_PACKAGE} \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Set this flag so that libraries can find the location of CUDA
ENV XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/local/cuda

# Install CUDA toolkit 12.6
RUN yum -y install cuda-toolkit-12-6 && \
yum -y clean all --enablerepo="*"
RUN dnf -y install cuda-toolkit-12-6 && \
dnf -y clean all --enablerepo="*"

# Restore user workspace
USER 1001
Expand Down
20 changes: 10 additions & 10 deletions base-images/cuda/12.6/c9s-python-3.12/Dockerfile.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3
ENV CUDA_VERSION=12.6.3

# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a
RUN yum upgrade -y && yum install -y \
RUN dnf upgrade -y && dnf install -y \
cuda-cudart-12-6-${NV_CUDA_CUDART_VERSION} \
cuda-compat-12-6 \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# nvidia-docker 1.0
Expand All @@ -67,20 +67,20 @@ ENV NV_LIBNCCL_VERSION=2.23.4
ENV NCCL_VERSION=2.23.4
ENV NV_LIBNCCL_PACKAGE=${NV_LIBNCCL_PACKAGE_NAME}-${NV_LIBNCCL_PACKAGE_VERSION}+cuda12.6

RUN yum install -y \
RUN dnf install -y \
cuda-libraries-12-6-${NV_CUDA_LIB_VERSION} \
cuda-nvtx-12-6-${NV_NVTX_VERSION} \
${NV_LIBNPP_PACKAGE} \
libcublas-12-6-${NV_LIBCUBLAS_VERSION} \
${NV_LIBNCCL_PACKAGE} \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Install devel tools
RUN yum install -y \
RUN dnf install -y \
make \
findutils \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Install CUDA cudnn9 from:
Expand All @@ -90,17 +90,17 @@ ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12-${NV_CUDNN_VERSION}

LABEL com.nvidia.cudnn.version="${NV_CUDNN_VERSION}"

RUN yum install -y \
RUN dnf install -y \
${NV_CUDNN_PACKAGE} \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Set this flag so that libraries can find the location of CUDA
ENV XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/local/cuda

# Install CUDA toolkit 12.6
RUN yum -y install cuda-toolkit-12-6 && \
yum -y clean all --enablerepo="*"
RUN dnf -y install cuda-toolkit-12-6 && \
dnf -y clean all --enablerepo="*"

# Restore user workspace
USER 1001
Expand Down
16 changes: 8 additions & 8 deletions base-images/cuda/12.6/ubi9-python-3.12/Dockerfile.cuda
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ RUN NVIDIA_GPGKEY_SUM=d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3
ENV CUDA_VERSION=12.6.3

# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a
RUN yum upgrade -y && yum install -y \
RUN dnf upgrade -y && dnf install -y \
cuda-cudart-12-6-${NV_CUDA_CUDART_VERSION} \
cuda-compat-12-6 \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# nvidia-docker 1.0
Expand All @@ -67,20 +67,20 @@ ENV NV_LIBNCCL_VERSION=2.23.4
ENV NCCL_VERSION=2.23.4
ENV NV_LIBNCCL_PACKAGE=${NV_LIBNCCL_PACKAGE_NAME}-${NV_LIBNCCL_PACKAGE_VERSION}+cuda12.6

RUN yum install -y \
RUN dnf install -y \
cuda-libraries-12-6-${NV_CUDA_LIB_VERSION} \
cuda-nvtx-12-6-${NV_NVTX_VERSION} \
${NV_LIBNPP_PACKAGE} \
libcublas-12-6-${NV_LIBCUBLAS_VERSION} \
${NV_LIBNCCL_PACKAGE} \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Install devel tools
RUN yum install -y \
RUN dnf install -y \
make \
findutils \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Install CUDA cudnn9 from:
Expand All @@ -90,9 +90,9 @@ ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12-${NV_CUDNN_VERSION}

LABEL com.nvidia.cudnn.version="${NV_CUDNN_VERSION}"

RUN yum install -y \
RUN dnf install -y \
${NV_CUDNN_PACKAGE} \
&& yum clean all \
&& dnf clean all \
&& rm -rf /var/cache/yum/*

# Set this flag so that libraries can find the location of CUDA
Expand Down
4 changes: 2 additions & 2 deletions base-images/rocm/6.2/c9s-python-3.12/Dockerfile.rocm
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ RUN echo "[ROCm]" > /etc/yum.repos.d/rocm.repo && \
echo "baseurl=https://repo.radeon.com/amdgpu/$AMDGPU_VERSION/rhel/9.4/main/x86_64" >> /etc/yum.repos.d/amdgpu.repo && \
echo "enabled=1" >> /etc/yum.repos.d/amdgpu.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/amdgpu.repo && \
yum install -y rocm-developer-tools rocm-ml-sdk rocm-opencl-sdk rocm-openmp-sdk rocm-utils && \
yum clean all && rm -rf /var/cache/yum
dnf install -y rocm-developer-tools rocm-ml-sdk rocm-opencl-sdk rocm-openmp-sdk rocm-utils && \
dnf clean all && rm -rf /var/cache/yum

# Restore user workspace
USER 1001
Expand Down
4 changes: 2 additions & 2 deletions base-images/rocm/6.2/ubi9-python-3.12/Dockerfile.rocm
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ RUN echo "[ROCm]" > /etc/yum.repos.d/rocm.repo && \
echo "baseurl=https://repo.radeon.com/amdgpu/$AMDGPU_VERSION/rhel/9.4/main/x86_64" >> /etc/yum.repos.d/amdgpu.repo && \
echo "enabled=1" >> /etc/yum.repos.d/amdgpu.repo && \
echo "gpgcheck=0" >> /etc/yum.repos.d/amdgpu.repo && \
yum install -y rocm-developer-tools rocm-ml-sdk rocm-opencl-sdk rocm-openmp-sdk rocm-utils && \
yum clean all && rm -rf /var/cache/yum
dnf install -y rocm-developer-tools rocm-ml-sdk rocm-opencl-sdk rocm-openmp-sdk rocm-utils && \
dnf clean all && rm -rf /var/cache/yum

# Restore user workspace
USER 1001
Expand Down
12 changes: 8 additions & 4 deletions codeserver/ubi9-python-3.12/Dockerfile.cpu
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
#########################
# configuration args #
#########################
ARG BASE_IMAGE
Copy link

Choose a reason for hiding this comment

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

🟢 The introduction of ARG BASE_IMAGE is a good practice. It makes the Dockerfile more modular and reusable, allowing the base image to be specified at build time. This is a great improvement for maintainability.


####################
# base #
# cpu-base #
####################
FROM registry.access.redhat.com/ubi9/python-312:latest AS base
FROM ${BASE_IMAGE} AS cpu-base

WORKDIR /opt/app-root/bin

Expand Down Expand Up @@ -30,11 +35,10 @@ RUN curl -L https://mirror.openshift.com/pub/openshift-v4/$(uname -m)/clients/oc
rm -f /tmp/openshift-client-linux.tar.gz
# Install the oc client end


####################
# codeserver #
####################
FROM base AS codeserver
FROM cpu-base AS codeserver

ARG TARGETOS TARGETARCH

Expand Down
1 change: 1 addition & 0 deletions codeserver/ubi9-python-3.12/build-args/cpu.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BASE_IMAGE=registry.access.redhat.com/ubi9/python-312:latest
Loading
Loading