11#! /bin/bash
22
3- if [[ $# -ne 4 ]]; then
4- echo " KERNEL_FLAVOR DRIVER_BRANCH DIST LTS_KERNEL are required"
3+ if [[ $# -lt 4 || $# -gt 5 ]]; then
4+ echo " KERNEL_FLAVOR DRIVER_BRANCH DIST LTS_KERNEL or KERNEL_FLAVOR DRIVER_BRANCH DIST LTS_KERNEL PLATFORM_SUFFIX are required"
55 exit 1
66fi
77
88export KERNEL_FLAVOR=" ${1} "
99export DRIVER_BRANCH=" ${2} "
1010export DIST=" ${3} "
1111export LTS_KERNEL=" ${4} "
12+ export PLATFORM_SUFFIX=" ${5} "
1213
1314export REGCTL_VERSION=v0.7.1
1415mkdir -p bin
@@ -18,24 +19,24 @@ export PATH=$(pwd)/bin:${PATH}
1819
1920# calculate kernel version of latest image
2021prefix=" kernel-version-${DRIVER_BRANCH} -${LTS_KERNEL} "
21- suffix=" ${kernel_flavor } -${DIST} "
22+ suffix=" ${KERNEL_FLAVOR } -${DIST}${PLATFORM_SUFFIX } "
2223
2324artifact_dir=" ./kernel-version-artifacts"
24- artifact=$( find " $artifact_dir " -maxdepth 1 -type d -name " ${prefix} *-${suffix} " | head -1)
25- if [ -n " $artifact " ]; then
26- artifact_name=$( basename " $artifact " )
27- if [ -f " $artifact /${artifact_name} .tar" ]; then
28- tar -xf " $artifact /${artifact_name} .tar" -C ./
29- export $( grep -oP ' KERNEL_VERSION=[^ ]+' ./kernel_version.txt)
30- rm -f kernel_version.txt
31- fi
25+ artifact_file=$( find " $artifact_dir " -maxdepth 1 -type f -name " ${prefix} *-${suffix} .tar" | head -1)
26+ if [ -n " $artifact_file " ]; then
27+ tar -xf " $artifact_file " -C ./
28+ export $( grep -oE ' KERNEL_VERSION=[^ ]+' ./kernel_version.txt)
29+ rm -f kernel_version.txt
3230fi
3331
3432# calculate driver tag
3533status_nvcr=0
3634status_ghcr=0
37- regctl tag ls nvcr.io/nvidia/driver | grep " ^${DRIVER_BRANCH} -${KERNEL_VERSION} -${DIST} $" || status_nvcr=$?
38- regctl tag ls ghcr.io/nvidia/driver | grep " ^${DRIVER_BRANCH} -${KERNEL_VERSION} -${DIST} $" || status_ghcr=$?
35+ PLATFORM=$( echo " ${PLATFORM_SUFFIX} " | sed ' s/-//' )
36+ [ -z " $PLATFORM " ] && PLATFORM=amd64
37+ regctl manifest inspect nvcr.io/nvidia/driver:${DRIVER_BRANCH} -${KERNEL_VERSION} -${DIST} --platform=linux/${PLATFORM} > /dev/null 2>&1 ; status_nvcr=$?
38+ regctl manifest inspect ghcr.io/nvidia/driver:${DRIVER_BRANCH} -${KERNEL_VERSION} -${DIST} --platform=linux/${PLATFORM} > /dev/null 2>&1 ; status_ghcr=$?
39+
3940if [[ $status_nvcr -eq 0 || $status_ghcr -eq 0 ]]; then
4041 export should_continue=false
4142else
0 commit comments