mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-25 05:21:33 +00:00
Build meta-packages before others
Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
parent
525aeb102f
commit
22c7178561
@ -102,8 +102,30 @@ unit-tests:
|
|||||||
name: ${ARTIFACTS_NAME}
|
name: ${ARTIFACTS_NAME}
|
||||||
paths:
|
paths:
|
||||||
- ${ARTIFACTS_ROOT}
|
- ${ARTIFACTS_ROOT}
|
||||||
|
needs:
|
||||||
|
- job: package-meta-packages
|
||||||
|
artifacts: true
|
||||||
|
|
||||||
# Define the package build targets
|
# Define the package build targets
|
||||||
|
package-meta-packages:
|
||||||
|
extends:
|
||||||
|
- .package-artifacts
|
||||||
|
stage: package-build
|
||||||
|
variables:
|
||||||
|
SKIP_LIBNVIDIA_CONTAINER: "yes"
|
||||||
|
SKIP_NVIDIA_CONTAINER_TOOLKIT: "yes"
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- PACKAGING: [deb, rpm]
|
||||||
|
before_script:
|
||||||
|
- apk add --no-cache coreutils build-base sed git bash make
|
||||||
|
script:
|
||||||
|
- ./scripts/build-packages.sh ${PACKAGING}
|
||||||
|
artifacts:
|
||||||
|
name: ${ARTIFACTS_NAME}
|
||||||
|
paths:
|
||||||
|
- ${ARTIFACTS_ROOT}
|
||||||
|
|
||||||
package-amazonlinux2-aarch64:
|
package-amazonlinux2-aarch64:
|
||||||
extends:
|
extends:
|
||||||
- .package-build
|
- .package-build
|
||||||
|
@ -51,18 +51,22 @@ echo "Building ${TARGET} for all packages to ${DIST_DIR}"
|
|||||||
|
|
||||||
"${SCRIPTS_DIR}/get-component-versions.sh"
|
"${SCRIPTS_DIR}/get-component-versions.sh"
|
||||||
|
|
||||||
# Build libnvidia-container
|
|
||||||
make -C "${LIBNVIDIA_CONTAINER_ROOT}" -f mk/docker.mk "${TARGET}"
|
|
||||||
|
|
||||||
if [[ -z "${NVIDIA_CONTAINER_TOOLKIT_VERSION}" || -z "${LIBNVIDIA_CONTAINER_VERSION}" ]]; then
|
if [[ -z "${NVIDIA_CONTAINER_TOOLKIT_VERSION}" || -z "${LIBNVIDIA_CONTAINER_VERSION}" ]]; then
|
||||||
eval $(${SCRIPTS_DIR}/get-component-versions.sh)
|
eval $(${SCRIPTS_DIR}/get-component-versions.sh)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Build libnvidia-container
|
||||||
|
if [[ -z ${SKIP_LIBNVIDIA_CONTAINER} ]]; then
|
||||||
|
make -C "${LIBNVIDIA_CONTAINER_ROOT}" -f mk/docker.mk "${TARGET}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z ${SKIP_NVIDIA_CONTAINER_TOOLKIT} ]]; then
|
||||||
# Build nvidia-container-toolkit
|
# Build nvidia-container-toolkit
|
||||||
make -C "${NVIDIA_CONTAINER_TOOLKIT_ROOT}" \
|
make -C "${NVIDIA_CONTAINER_TOOLKIT_ROOT}" \
|
||||||
LIBNVIDIA_CONTAINER_VERSION="${LIBNVIDIA_CONTAINER_VERSION}" \
|
LIBNVIDIA_CONTAINER_VERSION="${LIBNVIDIA_CONTAINER_VERSION}" \
|
||||||
LIBNVIDIA_CONTAINER_TAG="${LIBNVIDIA_CONTAINER_TAG}" \
|
LIBNVIDIA_CONTAINER_TAG="${LIBNVIDIA_CONTAINER_TAG}" \
|
||||||
"${TARGET}"
|
"${TARGET}"
|
||||||
|
fi
|
||||||
|
|
||||||
# If required we also build the nvidia-container-runtime and nvidia-docker packages.
|
# If required we also build the nvidia-container-runtime and nvidia-docker packages.
|
||||||
# Since these are essentially meta packages intended to allow for users to
|
# Since these are essentially meta packages intended to allow for users to
|
||||||
@ -71,6 +75,7 @@ make -C "${NVIDIA_CONTAINER_TOOLKIT_ROOT}" \
|
|||||||
# version of 0.
|
# version of 0.
|
||||||
if [[ -n ${FORCE_META_PACKAGES} || -z ${NVIDIA_CONTAINER_TOOLKIT_TAG} && "${NVIDIA_CONTAINER_TOOLKIT_VERSION%.0}" != "${NVIDIA_CONTAINER_TOOLKIT_VERSION}" ]]; then
|
if [[ -n ${FORCE_META_PACKAGES} || -z ${NVIDIA_CONTAINER_TOOLKIT_TAG} && "${NVIDIA_CONTAINER_TOOLKIT_VERSION%.0}" != "${NVIDIA_CONTAINER_TOOLKIT_VERSION}" ]]; then
|
||||||
package_format=$(package_type ${TARGET})
|
package_format=$(package_type ${TARGET})
|
||||||
|
package_target=$(get_package_target ${TARGET})
|
||||||
|
|
||||||
# We set the TOOLKIT_VERSION, TOOLKIT_TAG for the nvidia-container-runtime and nvidia-docker targets
|
# We set the TOOLKIT_VERSION, TOOLKIT_TAG for the nvidia-container-runtime and nvidia-docker targets
|
||||||
# The LIB_TAG is also overridden to match the TOOLKIT_TAG.
|
# The LIB_TAG is also overridden to match the TOOLKIT_TAG.
|
||||||
@ -89,7 +94,9 @@ if [[ -n ${FORCE_META_PACKAGES} || -z ${NVIDIA_CONTAINER_TOOLKIT_TAG} && "${NVID
|
|||||||
TOOLKIT_TAG="${NVIDIA_CONTAINER_TOOLKIT_TAG}" \
|
TOOLKIT_TAG="${NVIDIA_CONTAINER_TOOLKIT_TAG}" \
|
||||||
${TARGET}
|
${TARGET}
|
||||||
fi
|
fi
|
||||||
cp ${package_pattern} ${DIST_DIR}/$(get_package_target ${TARGET})/
|
if [[ -n ${package_target} ]]; then
|
||||||
|
cp ${package_pattern} ${DIST_DIR}/${package_target}/
|
||||||
|
fi
|
||||||
|
|
||||||
# Build nvidia-docker2 if required
|
# Build nvidia-docker2 if required
|
||||||
package_name="nvidia-docker2"
|
package_name="nvidia-docker2"
|
||||||
@ -105,7 +112,9 @@ if [[ -n ${FORCE_META_PACKAGES} || -z ${NVIDIA_CONTAINER_TOOLKIT_TAG} && "${NVID
|
|||||||
TOOLKIT_TAG="${NVIDIA_CONTAINER_TOOLKIT_TAG}" \
|
TOOLKIT_TAG="${NVIDIA_CONTAINER_TOOLKIT_TAG}" \
|
||||||
${TARGET}
|
${TARGET}
|
||||||
fi
|
fi
|
||||||
cp ${package_pattern} ${DIST_DIR}/$(get_package_target ${TARGET})/
|
if [[ -n ${package_target} ]]; then
|
||||||
|
cp ${package_pattern} ${DIST_DIR}/${package_target}/
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Skipping nvidia-container-runtime and nvidia-docker builds."
|
echo "Skipping nvidia-container-runtime and nvidia-docker builds."
|
||||||
|
@ -16,6 +16,10 @@ function package_type() {
|
|||||||
;;
|
;;
|
||||||
ubuntu*) pkg_type=deb
|
ubuntu*) pkg_type=deb
|
||||||
;;
|
;;
|
||||||
|
deb) pkg_type=deb
|
||||||
|
;;
|
||||||
|
rpm) pkg_type=rpm
|
||||||
|
;;
|
||||||
*) exit 1
|
*) exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -39,5 +43,13 @@ function get_package_target() {
|
|||||||
local target=$1
|
local target=$1
|
||||||
local dist=${target%-*}
|
local dist=${target%-*}
|
||||||
local arch=${target##*-}
|
local arch=${target##*-}
|
||||||
echo "${dist}/${arch}"
|
|
||||||
|
case ${target} in
|
||||||
|
deb) echo ""
|
||||||
|
;;
|
||||||
|
rpm) echo ""
|
||||||
|
;;
|
||||||
|
*) echo "${dist}/${arch}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user