1515# Run this workflow on a schedule
1616name : Precompiled images
1717
18+ # on:
19+ # schedule:
20+ # - cron: '00 09 * * *' # scheduled job
21+
1822on :
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
2233jobs :
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
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
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
0 commit comments