Skip to content

Commit ae1b88d

Browse files
committed
ubuntu24.04 ci pipeline fix
Signed-off-by: shiva kumar <[email protected]>
1 parent ae91f8f commit ae1b88d

File tree

12 files changed

+239
-28
lines changed

12 files changed

+239
-28
lines changed

.common-ci.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,14 @@ trigger-pipeline:
172172
rules:
173173
- if: $CI_PIPELINE_SOURCE != "schedule"
174174

175+
.release-ubuntu24.04:
176+
# Perform for each DRIVER_VERSION
177+
extends:
178+
- .release-generic
179+
- .driver-versions
180+
rules:
181+
- if: $CI_PIPELINE_SOURCE != "schedule"
182+
175183
.release-rhel9:
176184
# Perform for each DRIVER_VERSION
177185
extends:
@@ -304,3 +312,14 @@ release:staging-precompiled-ubuntu22.04:
304312
- .release:staging-precompiled
305313
needs:
306314
- image-precompiled-ubuntu22.04
315+
316+
# Precompiled Ubuntu24.04 release
317+
release:staging-precompiled-ubuntu24.04:
318+
variables:
319+
DIST: signed_ubuntu24.04
320+
BASE_TARGET: noble
321+
extends:
322+
- .driver-versions-precompiled-ubuntu24.04
323+
- .release:staging-precompiled
324+
needs:
325+
- image-precompiled-ubuntu24.04

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
4141
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
4242
aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
43-
holodeck_config: "tests/holodeck.yaml"
43+
holodeck_config: "tests/holodeck_ubuntu22.04.yaml"
4444

4545
- name: Get public dns name
4646
id: get_public_dns_name

.github/workflows/image.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@ on:
2121
- opened
2222
- synchronize
2323
branches:
24-
- main
25-
- release-*
24+
- main-no
2625
push:
2726
branches:
28-
- main
29-
- release-*
27+
- main-no
3028

3129
jobs:
3230
image:

.github/workflows/precompiled.yaml

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,20 @@
1515
# Run this workflow on a schedule
1616
name: Precompiled images
1717

18+
# on:
19+
# schedule:
20+
# - cron: '00 09 * * *' # scheduled job
21+
1822
on:
19-
schedule:
20-
- cron: '00 09 * * *'
23+
pull_request:
24+
types:
25+
- opened
26+
- synchronize
27+
branches:
28+
- ci-precompile-ubuntu24.04
29+
push:
30+
branches:
31+
- ci-precompile-ubuntu24.04
2132

2233
jobs:
2334
set-driver-version-matrix:
@@ -33,17 +44,26 @@ jobs:
3344
id: extract_driver_branch
3445
run: |
3546
# get driver_branch
36-
DRIVER_BRANCH=("535" "550")
47+
# SHIVA
48+
# DRIVER_BRANCH=("535" "550")
49+
DRIVER_BRANCH=("550")
3750
driver_branch_json=$(printf '%s\n' "${DRIVER_BRANCH[@]}" | jq -R . | jq -cs .)
3851
echo "driver_branch=$driver_branch_json" >> $GITHUB_OUTPUT
3952
4053
# get kernel flavors
41-
KERNEL_FLAVORS=("aws" "azure" "generic" "nvidia" "oracle")
54+
# SHIVA
55+
# KERNEL_FLAVORS=("aws" "azure" "generic" "nvidia" "oracle")
56+
# KERNEL_FLAVORS=("azure" "generic" "nvidia" "oracle")
57+
# KERNEL_FLAVORS=("aws")
58+
KERNEL_FLAVORS=("generic")
4259
kernel_flavors_json=$(printf '%s\n' "${KERNEL_FLAVORS[@]}" | jq -R . | jq -cs .)
4360
echo "kernel_flavors=$kernel_flavors_json" >> $GITHUB_OUTPUT
4461
4562
# get ubuntu distributions
46-
DIST=("ubuntu22.04")
63+
# SHIVA
64+
# DIST=("ubuntu22.04" "ubuntu24.04")
65+
# DIST=("ubuntu22.04")
66+
DIST=("ubuntu24.04")
4767
dist_json=$(printf '%s\n' "${DIST[@]}" | jq -R . | jq -cs .)
4868
echo "dist=$dist_json" >> $GITHUB_OUTPUT
4969
@@ -60,6 +80,8 @@ jobs:
6080
name: Check out code
6181
- name: Calculate build vars
6282
id: vars
83+
env:
84+
DIST: ${{ matrix.dist }}
6385
run: |
6486
echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
6587
echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
@@ -70,6 +92,14 @@ jobs:
7092
echo "PUSH_ON_BUILD=${GENERATE_ARTIFACTS}" >> $GITHUB_ENV
7193
echo "BUILD_MULTI_ARCH_IMAGES=${GENERATE_ARTIFACTS}" >> $GITHUB_ENV
7294
95+
if [ "$DIST" == "ubuntu22.04" ]; then
96+
echo "BASE_TARGET=jammy" >> $GITHUB_OUTPUT
97+
echo "LTS_KERNEL=5.15" >> $GITHUB_OUTPUT
98+
elif [ "$DIST" == "ubuntu24.04" ]; then
99+
echo "BASE_TARGET=noble" >> $GITHUB_OUTPUT
100+
echo "LTS_KERNEL=6.8" >> $GITHUB_OUTPUT
101+
fi
102+
73103
- name: Set up QEMU
74104
uses: docker/setup-qemu-action@v3
75105
- name: Set up Docker Buildx
@@ -84,9 +114,10 @@ jobs:
84114
env:
85115
IMAGE_NAME: ghcr.io/nvidia/driver
86116
VERSION: ${COMMIT_SHORT_SHA}
87-
BASE_TARGET: jammy
117+
BASE_TARGET: ${{ steps.vars.outputs.BASE_TARGET }}
118+
LTS_KERNEL: ${{ steps.vars.outputs.LTS_KERNEL }}
88119
run: |
89-
make DRIVER_BRANCH=${{ matrix.driver_branch }} KERNEL_FLAVOR=${{ matrix.flavor }} build-base-${BASE_TARGET}
120+
make DRIVER_BRANCH=${{ matrix.driver_branch }} KERNEL_FLAVOR=${{ matrix.flavor }} LTS_KERNEL=${LTS_KERNEL} build-base-${BASE_TARGET}
90121
91122
trap "docker rm -f base-${BASE_TARGET}-${{ matrix.flavor }}" EXIT
92123
docker run -d --name base-${BASE_TARGET}-${{ matrix.flavor }} ghcr.io/nvidia/driver:base-${BASE_TARGET}-${{ matrix.flavor }}-${{ matrix.driver_branch }}
@@ -149,11 +180,18 @@ jobs:
149180
- name: Set kernel version
150181
id: set_kernel_version
151182
env:
152-
BASE_TARGET: "jammy"
153183
DIST: ${{ matrix.dist }}
154184
run: |
155185
echo "matrix_values_not_empty=0" >> $GITHUB_OUTPUT
156186
187+
if [ "$DIST" == "ubuntu22.04" ]; then
188+
export BASE_TARGET="jammy"
189+
export LTS_KERNEL="5.15"
190+
elif [ "$DIST" == "ubuntu24.04" ]; then
191+
export BASE_TARGET="noble"
192+
export LTS_KERNEL="6.8"
193+
fi
194+
157195
kernel_flavors_json='${{ needs.set-driver-version-matrix.outputs.kernel_flavors }}'
158196
KERNEL_FLAVORS=($(echo "$kernel_flavors_json" | jq -r '.[]'))
159197
driver_branch_json='${{ needs.set-driver-version-matrix.outputs.driver_branch }}'
@@ -201,7 +239,7 @@ jobs:
201239
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
202240
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
203241
aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
204-
holodeck_config: "tests/holodeck.yaml"
242+
holodeck_config: "tests/holodeck_${{ matrix.dist }}.yaml"
205243

206244
- name: Get public dns name
207245
id: get_public_dns_name
@@ -296,7 +334,7 @@ jobs:
296334
matrix:
297335
driver_branch: ${{ fromJson(needs.set-driver-version-matrix.outputs.driver_branch) }}
298336
kernel_version: ${{ fromJson(needs.determine-e2e-test-matrix.outputs.matrix_values) }}
299-
dist: ${{ fromJson(needs.set-driver-version-matrix.outputs.dist) }}
337+
dist: ${{ fromJson(needs.set-driver-version-matrix.outputs.dist) }}
300338
steps:
301339
- name: Check out code
302340
uses: actions/checkout@v4

.gitlab-ci.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ include:
5353
.image-build-ubuntu24.04:
5454
# Perform for each DRIVER_VERSION
5555
extends:
56-
- .driver-versions-ubuntu24.04
56+
- .driver-versions
5757
- .image-build-generic
5858
rules:
5959
- if: $CI_PIPELINE_SOURCE != "schedule"
@@ -120,3 +120,12 @@ image-precompiled-ubuntu22.04:
120120
extends:
121121
- .driver-versions-precompiled-ubuntu22.04
122122
- .image-build-precompiled
123+
124+
image-precompiled-ubuntu24.04:
125+
variables:
126+
DIST: signed_ubuntu24.04
127+
BASE_TARGET: noble
128+
CVE_UPDATES: "curl libc6"
129+
extends:
130+
- .driver-versions-precompiled-ubuntu24.04
131+
- .image-build-precompiled

.nvidia-ci.yml

Lines changed: 78 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,30 @@ variables:
7777
- !reference [.image-pull-rules, rules]
7878

7979

80+
.image-pull-ubuntu24.04:
81+
# Perform for each DRIVER_VERSION
82+
extends:
83+
- .driver-versions
84+
- .image-pull-generic
85+
rules:
86+
- if: $CI_PIPELINE_SOURCE == "schedule"
87+
when: never
88+
- !reference [.image-pull-rules, rules]
89+
90+
image-precompiled-ubuntu24.04:
91+
variables:
92+
DIST: signed_ubuntu24.04
93+
BASE_TARGET: noble
94+
PRECOMPILED: "true"
95+
CVE_UPDATES: "curl libc6"
96+
rules:
97+
- when: delayed
98+
start_in: 30 minutes
99+
extends:
100+
- .driver-versions-precompiled-ubuntu24.04
101+
- .image-pull-generic
102+
103+
80104
.image-pull-ubuntu22.04:
81105
# Perform for each DRIVER_VERSION
82106
extends:
@@ -187,7 +211,7 @@ image-rhel8:
187211
.scan-ubuntu24.04:
188212
# Repeat for each DRIVER_VERSION
189213
extends:
190-
- .driver-versions-ubuntu24.04
214+
- .driver-versions
191215
- .scan-generic
192216
rules:
193217
- !reference [.scan-rules-common, rules]
@@ -196,6 +220,18 @@ image-rhel8:
196220
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
197221
- !reference [.pipeline-trigger-rules, rules]
198222

223+
.scan-precompiled-ubuntu24.04:
224+
variables:
225+
DIST: signed_ubuntu24.04
226+
BASE_TARGET: noble
227+
PRECOMPILED: "true"
228+
extends:
229+
- .driver-versions-precompiled-ubuntu24.04
230+
- .scan-generic
231+
rules:
232+
- !reference [.scan-rules-common, rules]
233+
- when: always
234+
199235
.scan-precompiled-ubuntu22.04:
200236
variables:
201237
DIST: signed_ubuntu22.04
@@ -306,6 +342,25 @@ release:ngc-ubuntu22.04:
306342
- .dist-ubuntu22.04
307343
- .driver-versions
308344

345+
release:ngc-ubuntu24.04:
346+
extends:
347+
- .release:ngc
348+
- .dist-ubuntu24.04
349+
- .driver-versions
350+
351+
release:ngc-precompiled-ubuntu24.04:
352+
variables:
353+
DIST: signed_ubuntu24.04
354+
BASE_TARGET: noble
355+
PRECOMPILED: "true"
356+
extends:
357+
- .driver-versions-precompiled-ubuntu24.04
358+
- .release-generic
359+
- .release:ngc-variables
360+
rules:
361+
# Only run NGC release job on scheduled pipelines
362+
- if: $CI_PIPELINE_SOURCE == "schedule"
363+
309364
release:ngc-precompiled-ubuntu22.04:
310365
variables:
311366
DIST: signed_ubuntu22.04
@@ -433,6 +488,23 @@ release:ngc-rhel8.10:
433488
- 'echo "Signing the image ${IMAGE_NAME}:${IMAGE_TAG}"'
434489
- ngc-cli/ngc registry image publish --source ${IMAGE_NAME}:${IMAGE_TAG} ${IMAGE_NAME}:${IMAGE_TAG} --public --discoverable --allow-guest --sign --org nvidia
435490

491+
sign:ngc-precompiled-ubuntu24.04:
492+
extends:
493+
- .driver-versions-precompiled-ubuntu24.04
494+
- .dist-ubuntu22.04
495+
- .release-generic
496+
- .release:ngc-variables
497+
- .sign:ngc
498+
variables:
499+
DIST: signed_ubuntu24.04
500+
BASE_TARGET: noble
501+
PRECOMPILED: "true"
502+
needs:
503+
- release:ngc-precompiled-ubuntu24.04
504+
rules:
505+
# Only run NGC release job on scheduled pipelines
506+
- if: $CI_PIPELINE_SOURCE == "schedule"
507+
436508
sign:ngc-precompiled-ubuntu22.04:
437509
extends:
438510
- .driver-versions-precompiled-ubuntu22.04
@@ -457,15 +529,16 @@ sign:ngc-ubuntu-rhel-rhcos:
457529
matrix:
458530
- SIGN_JOB_NAME: ["ubuntu"]
459531
VERSION: ["24.04"]
532+
DRIVER_VERSION: ["535.216.01", "550.127.05", "565.57.01"]
460533
- SIGN_JOB_NAME: ["ubuntu"]
461534
VERSION: ["22.04"]
462-
DRIVER_VERSION: ["535.216.03", "550.127.08"]
535+
DRIVER_VERSION: ["535.216.01", "550.127.05", "565.57.01"]
463536
- SIGN_JOB_NAME: ["ubuntu"]
464537
VERSION: ["20.04"]
465-
DRIVER_VERSION: ["535.216.03", "550.127.08"]
538+
DRIVER_VERSION: ["535.216.01", "550.127.05", "565.57.01"]
466539
- SIGN_JOB_NAME: ["rhel"]
467540
VERSION: ["8.8", "8.10"]
468-
DRIVER_VERSION: ["535.216.03", "550.127.08"]
541+
DRIVER_VERSION: ["535.216.01", "550.127.05", "565.57.01"]
469542
- SIGN_JOB_NAME: ["rhcos"]
470543
VERSION: ["4.12","4.13","4.14","4.15", "4.16", "4.17"]
471-
DRIVER_VERSION: ["535.216.03", "550.127.08"]
544+
DRIVER_VERSION: ["535.216.01", "550.127.05", "565.57.01"]

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ 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 rhel8 rhel9 flatcar fedora36 sles15.3 precompiled_rhcos
57+
DISTRIBUTIONS := ubuntu18.04 ubuntu20.04 ubuntu22.04 ubuntu24.04 signed_ubuntu24.04 signed_ubuntu20.04 signed_ubuntu22.04 rhel8 rhel9 flatcar fedora36 sles15.3 precompiled_rhcos
5858
PUSH_TARGETS := $(patsubst %, push-%, $(DISTRIBUTIONS))
59-
BASE_FROM := jammy focal
59+
BASE_FROM := jammy focal noble
6060
PUSH_TARGETS := $(patsubst %, push-%, $(DISTRIBUTIONS))
6161
DRIVER_PUSH_TARGETS := $(foreach push_target, $(PUSH_TARGETS), $(addprefix $(push_target)-, $(DRIVER_VERSIONS)))
6262
BUILD_TARGETS := $(patsubst %, build-%, $(DISTRIBUTIONS))
@@ -210,6 +210,7 @@ $(BASE_BUILD_TARGETS):
210210
--build-arg GOLANG_VERSION="$(GOLANG_VERSION)" \
211211
--build-arg DRIVER_BRANCH="$(DRIVER_BRANCH)" \
212212
--build-arg KERNEL_FLAVOR="$(KERNEL_FLAVOR)" \
213+
--build-arg LTS_KERNEL="$(LTS_KERNEL)" \
213214
--file $(DOCKERFILE) \
214215
$(CURDIR)/base
215216

0 commit comments

Comments
 (0)