Skip to content

Commit f0329c7

Browse files
committed
[RHEL9] support passing a RockyLinux base image
Signed-off-by: Tariq Ibrahim <tibrahim@nvidia.com>
1 parent ddec3c5 commit f0329c7

File tree

5 files changed

+67
-3
lines changed

5 files changed

+67
-3
lines changed

.common-ci.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@ trigger-pipeline:
131131
variables:
132132
DIST: rhel10
133133

134+
.dist-rocky9:
135+
variables:
136+
DIST: rocky9
137+
134138
.dist-fedora36:
135139
variables:
136140
DIST: fedora36
@@ -216,6 +220,14 @@ trigger-pipeline:
216220
rules:
217221
- if: $CI_PIPELINE_SOURCE != "schedule" && $CI_COMMIT_TAG == null
218222

223+
.release-rocky9:
224+
# Perform for each DRIVER_VERSION
225+
extends:
226+
- .release-generic
227+
- .driver-versions
228+
rules:
229+
- if: $CI_PIPELINE_SOURCE != "schedule" && $CI_COMMIT_TAG == null
230+
219231
.release-rhel10:
220232
# Perform for each DRIVER_VERSION
221233
extends:
@@ -280,6 +292,15 @@ trigger-pipeline:
280292
OUT_REGISTRY: "${NGC_REGISTRY}"
281293
OUT_IMAGE_NAME: "${NGC_STAGING_REGISTRY}/driver"
282294

295+
.release:staging-rocky9:
296+
extends:
297+
- .release-rocky9
298+
variables:
299+
OUT_REGISTRY_USER: "${NGC_REGISTRY_USER}"
300+
OUT_REGISTRY_TOKEN: "${NGC_REGISTRY_TOKEN}"
301+
OUT_REGISTRY: "${NGC_REGISTRY}"
302+
OUT_IMAGE_NAME: "${NGC_STAGING_REGISTRY}/driver"
303+
283304
# Define an external release step that pushes an image to an external repository.
284305
.release:external:
285306
extends:
@@ -355,6 +376,13 @@ release:staging-rhel9:
355376
# needs:
356377
# - image-rhel10
357378

379+
release:staging-rocky9:
380+
extends:
381+
- .release:staging
382+
- .dist-rocky9
383+
needs:
384+
- image-rocky9
385+
358386
.release:staging-precompiled:
359387
stage: release
360388
variables:

.github/workflows/image.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ jobs:
3838
- rhel8
3939
- rhel9
4040
- rhel10
41+
- rocky9
4142
ispr:
4243
- ${{github.event_name == 'pull_request'}}
4344
exclude:
@@ -71,8 +72,8 @@ jobs:
7172
echo "PUSH_ON_BUILD=${GENERATE_ARTIFACTS}" >> $GITHUB_ENV
7273
echo "BUILD_MULTI_ARCH_IMAGES=${GENERATE_ARTIFACTS}" >> $GITHUB_ENV
7374
74-
if [[ "${{ matrix.dist }}" =~ "rhel" ]]; then
75-
echo "CVE_UPDATES=openssl python3-urllib3 libarchive libxml2 pam python3 sqlite-libs gnupg2" >> $GITHUB_ENV
75+
if [[ "${{ matrix.dist }}" =~ "rhel" || "${{ matrix.dist }}" =~ "rocky" ]]; then
76+
echo "CVE_UPDATES=openssl python3-urllib3 libarchive libxml2 pam python3 sqlite-libs gnupg2" >> $GITHUB_ENV
7677
elif [[ "${{ matrix.dist }}" =~ "ubuntu" ]]; then
7778
echo "CVE_UPDATES=gnupg2" >> $GITHUB_ENV
7879
fi

.nvidia-ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ image-rhel9:
161161
# - .image-pull-rhel10
162162
# - .dist-rhel10
163163

164+
image-rocky9:
165+
extends:
166+
- .image-pull
167+
- .dist-rocky9
168+
164169
# The .scan step forms the base of the image scan operation performed before releasing
165170
# images.
166171
.scan-generic:
@@ -376,6 +381,22 @@ scan-rhel9-arm64:
376381
# needs:
377382
# - image-rhel10
378383

384+
scan-rocky9-amd64:
385+
extends:
386+
- .scan
387+
- .dist-rocky9
388+
- .platform-amd64
389+
needs:
390+
- image-rocky9
391+
392+
scan-rocky9-arm64:
393+
extends:
394+
- .scan
395+
- .dist-rocky9
396+
- .platform-arm64
397+
needs:
398+
- image-rocky9
399+
379400
.release:ngc-variables:
380401
variables:
381402
OUT_REGISTRY_USER: "${NGC_REGISTRY_USER}"
@@ -495,6 +516,11 @@ release:ngc-rhel9.8:
495516
variables:
496517
OUT_DIST: "rhel9.8"
497518

519+
release:ngc-rocky9:
520+
extends:
521+
- .release:ngc
522+
- .dist-rocky9
523+
498524
#release:ngc-rhel10.0:
499525
# extends:
500526
# - .release:ngc

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ OUT_IMAGE_TAG = $(OUT_IMAGE_VERSION)-$(OUT_DIST)
5454
OUT_IMAGE = $(OUT_IMAGE_NAME):$(OUT_IMAGE_TAG)
5555

5656
##### Public rules #####
57-
DISTRIBUTIONS := ubuntu18.04 ubuntu20.04 ubuntu22.04 ubuntu24.04 signed_ubuntu20.04 signed_ubuntu22.04 signed_ubuntu24.04 rhel8 rhel9 rhel10 flatcar fedora36 sles15.3 precompiled_rhcos
57+
DISTRIBUTIONS := ubuntu18.04 ubuntu20.04 ubuntu22.04 ubuntu24.04 signed_ubuntu20.04 signed_ubuntu22.04 signed_ubuntu24.04 rhel8 rhel9 rhel10 rocky9 flatcar fedora36 sles15.3 precompiled_rhcos
5858
RHCOS_VERSIONS := rhcos4.14 rhcos4.15 rhcos4.16 rhcos4.17 rhcos4.18 rhel9.6
5959
PUSH_TARGETS := $(patsubst %, push-%, $(DISTRIBUTIONS))
6060
BASE_FROM := noble jammy focal
@@ -177,6 +177,9 @@ $(DRIVER_BUILD_TARGETS):
177177

178178
build-rhcos%: SUBDIR = rhel9
179179

180+
build-rocky9%: SUBDIR = rhel9
181+
build-rocky9%: DOCKER_BUILD_ARGS = --build-arg BASE_IMAGE=nvcr.io/nvidia/cuda:13.1.1-base-rockylinux9
182+
180183
build-fedora%: SUBDIR = fedora
181184

182185
build-sles15%: SUBDIR = sle15

rhel9/install.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,12 @@ extra_pkgs_install() {
146146
if [ "$DRIVER_TYPE" != "vgpu" ]; then
147147
dnf module enable -y nvidia-driver:${DRIVER_BRANCH}-dkms
148148

149+
# If running on a RockyLinux base image, we enable the Code Ready Builder RPM repo (crb)
150+
OS_RELEASE_ID=$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"')
151+
if [ "$OS_RELEASE_ID" = "rocky" ]; then
152+
dnf config-manager --set-enabled crb
153+
fi
154+
149155
fabricmanager_install
150156
nscq_install
151157
nvsdm_install

0 commit comments

Comments
 (0)