mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-25 21:39:10 +00:00
Merge branch 'fix-kitmaker-scripts' into 'main'
Fix scripts and pipeline for artifactory release See merge request nvidia/container-toolkit/container-toolkit!241
This commit is contained in:
commit
25759ca933
@ -180,7 +180,7 @@ test-packaging:
|
|||||||
# Download the regctl binary for use in the release steps
|
# Download the regctl binary for use in the release steps
|
||||||
.regctl-setup:
|
.regctl-setup:
|
||||||
before_script:
|
before_script:
|
||||||
- export REGCTL_VERSION=v0.3.10
|
- export REGCTL_VERSION=v0.4.5
|
||||||
- apk add --no-cache curl
|
- apk add --no-cache curl
|
||||||
- mkdir -p bin
|
- mkdir -p bin
|
||||||
- curl -sSLo bin/regctl https://github.com/regclient/regclient/releases/download/${REGCTL_VERSION}/regctl-linux-amd64
|
- curl -sSLo bin/regctl https://github.com/regclient/regclient/releases/download/${REGCTL_VERSION}/regctl-linux-amd64
|
||||||
|
@ -36,6 +36,8 @@ variables:
|
|||||||
STAGING_REGISTRY: registry.gitlab.com/nvidia/container-toolkit/container-toolkit/staging
|
STAGING_REGISTRY: registry.gitlab.com/nvidia/container-toolkit/container-toolkit/staging
|
||||||
STAGING_VERSION: ${CI_COMMIT_SHORT_SHA}
|
STAGING_VERSION: ${CI_COMMIT_SHORT_SHA}
|
||||||
ARTIFACTORY_REPO_BASE: "https://urm.nvidia.com/artifactory/sw-gpu-cloudnative"
|
ARTIFACTORY_REPO_BASE: "https://urm.nvidia.com/artifactory/sw-gpu-cloudnative"
|
||||||
|
# TODO: We should set the kitmaker release folder here once we have the end-to-end workflow set up
|
||||||
|
KITMAKER_RELEASE_FOLDER: "testing"
|
||||||
|
|
||||||
.image-pull:
|
.image-pull:
|
||||||
stage: image-build
|
stage: image-build
|
||||||
@ -311,20 +313,20 @@ scan-ubi8-arm64:
|
|||||||
needs:
|
needs:
|
||||||
- image-packaging
|
- image-packaging
|
||||||
variables:
|
variables:
|
||||||
|
VERSION: "${CI_COMMIT_SHORT_SHA}"
|
||||||
PACKAGE_REGISTRY: "${CI_REGISTRY}"
|
PACKAGE_REGISTRY: "${CI_REGISTRY}"
|
||||||
PACKAGE_REGISTRY_USER: "${CI_REGISTRY_USER}"
|
PACKAGE_REGISTRY_USER: "${CI_REGISTRY_USER}"
|
||||||
PACKAGE_REGISTRY_TOKEN: "${CI_REGISTRY_PASSWORD}"
|
PACKAGE_REGISTRY_TOKEN: "${CI_REGISTRY_PASSWORD}"
|
||||||
PACKAGE_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/container-toolkit"
|
PACKAGE_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/container-toolkit"
|
||||||
PACKAGE_IMAGE_TAG: "${CI_COMMIT_SHORT_SHA}-packaging"
|
PACKAGE_IMAGE_TAG: "${CI_COMMIT_SHORT_SHA}-packaging"
|
||||||
PACKAGE_ARTIFACTORY_REPO: "${ARTIFACTORY_REPO_BASE}-${PACKAGE_REPO_TYPE}-local"
|
PACKAGE_ARTIFACTORY_REPO: "${ARTIFACTORY_REPO_BASE}-${PACKAGE_REPO_TYPE}-local"
|
||||||
KITMAKER_ARTIFACTORY_REPO: "${ARTIFACTORY_REPO_BASE}-generic-local/kitmaker"
|
KITMAKER_ARTIFACTORY_REPO: "${ARTIFACTORY_REPO_BASE}-generic-local/${KITMAKER_RELEASE_FOLDER}"
|
||||||
script:
|
script:
|
||||||
- !reference [.regctl-setup, before_script]
|
- !reference [.regctl-setup, before_script]
|
||||||
- apk add --no-cache bash
|
- apk add --no-cache bash
|
||||||
- regctl registry login "${PACKAGE_REGISTRY}" -u "${PACKAGE_REGISTRY_USER}" -p "${PACKAGE_REGISTRY_TOKEN}"
|
- regctl registry login "${PACKAGE_REGISTRY}" -u "${PACKAGE_REGISTRY_USER}" -p "${PACKAGE_REGISTRY_TOKEN}"
|
||||||
- ./scripts/extract-packages.sh "${PACKAGE_REGISTRY}/${PACKAGE_IMAGE_NAME}:${PACKAGE_IMAGE_TAG}" "${DIST}-${ARCH}"
|
- ./scripts/extract-packages.sh "${PACKAGE_IMAGE_NAME}:${PACKAGE_IMAGE_TAG}" "${DIST}-${ARCH}"
|
||||||
# TODO: ./scripts/release-packages-artifactory.sh "${DIST}-${ARCH}" "${PACKAGE_ARTIFACTORY_REPO}"
|
# TODO: ./scripts/release-packages-artifactory.sh "${DIST}-${ARCH}" "${PACKAGE_ARTIFACTORY_REPO}"
|
||||||
- ./scripts/kitmakerize-packages.sh" "${DIST}-${ARCH}"
|
|
||||||
- ./scripts/release-kitmaker-artifactory.sh "${DIST}-${ARCH}" "${KITMAKER_ARTIFACTORY_REPO}"
|
- ./scripts/release-kitmaker-artifactory.sh "${DIST}-${ARCH}" "${KITMAKER_ARTIFACTORY_REPO}"
|
||||||
|
|
||||||
release:staging-ubuntu18.04:
|
release:staging-ubuntu18.04:
|
||||||
|
@ -92,6 +92,8 @@ function extract-all() {
|
|||||||
local dist=$1
|
local dist=$1
|
||||||
local arch=$2
|
local arch=$2
|
||||||
|
|
||||||
|
echo "Extracting packages for ${dist}-${arch} from ${PACKAGE_IMAGE}"
|
||||||
|
|
||||||
mkdir -p "${ARTIFACTS_DIR}"
|
mkdir -p "${ARTIFACTS_DIR}"
|
||||||
copy-file "${PACKAGE_IMAGE}" "/artifacts/manifest.txt" "${ARTIFACTS_DIR}/manifest.txt"
|
copy-file "${PACKAGE_IMAGE}" "/artifacts/manifest.txt" "${ARTIFACTS_DIR}/manifest.txt"
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../scripts && pwd )"
|
|||||||
PROJECT_ROOT="$( cd "${SCRIPTS_DIR}/.." && pwd )"
|
PROJECT_ROOT="$( cd "${SCRIPTS_DIR}/.." && pwd )"
|
||||||
COMPONENT_NAME="nvidia-container-toolkit"
|
COMPONENT_NAME="nvidia-container-toolkit"
|
||||||
|
|
||||||
if [[ $# -ne 1 ]]; then
|
if [[ $# -ne 2 ]]; then
|
||||||
assert_usage "$@"
|
assert_usage "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -45,6 +45,8 @@ DIST=${DISTARCH%-*}
|
|||||||
ARCH=${DISTARCH#*-}
|
ARCH=${DISTARCH#*-}
|
||||||
ARTIFACTORY_URL=$2
|
ARTIFACTORY_URL=$2
|
||||||
|
|
||||||
|
CURL=${CURL:-curl}
|
||||||
|
|
||||||
if [[ -z "${DIST}" || -z "${ARCH}" ]]; then
|
if [[ -z "${DIST}" || -z "${ARCH}" ]]; then
|
||||||
echo "ERROR: Distro and Architecture must be specified." >&2
|
echo "ERROR: Distro and Architecture must be specified." >&2
|
||||||
assert_usage "$@"
|
assert_usage "$@"
|
||||||
@ -101,6 +103,8 @@ process_props() {
|
|||||||
PROPS+=$(set_prop_value "${var}" "${!var}")
|
PROPS+=$(set_prop_value "${var}" "${!var}")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "Applying properties: ${PROPS}"
|
||||||
}
|
}
|
||||||
|
|
||||||
## NOT USED:
|
## NOT USED:
|
||||||
@ -139,7 +143,7 @@ upload_file() {
|
|||||||
# extract the Artifactory hostname
|
# extract the Artifactory hostname
|
||||||
artifactory_host=$(echo "${ARTIFACTORY_URL##https://}" | awk -F'/' '{print $1}')
|
artifactory_host=$(echo "${ARTIFACTORY_URL##https://}" | awk -F'/' '{print $1}')
|
||||||
# get base part of the ARTIFACTORY_URL without hostname
|
# get base part of the ARTIFACTORY_URL without hostname
|
||||||
local image_path="${ARTIFACTORY_URL#https://${artifactory_host}/}/${dist}/${arch}"
|
local image_path="${ARTIFACTORY_URL#https://${artifactory_host}/}/${dist}/${arch}/$(basename ${file})"
|
||||||
|
|
||||||
local PROPS
|
local PROPS
|
||||||
process_props "${dist}" "${arch}"
|
process_props "${dist}" "${arch}"
|
||||||
@ -157,7 +161,7 @@ upload_file() {
|
|||||||
-H "X-JFrog-Art-Api: ${ARTIFACTORY_TOKEN}" \
|
-H "X-JFrog-Art-Api: ${ARTIFACTORY_TOKEN}" \
|
||||||
-H "X-Checksum-Sha1: ${SHA1_SUM}" \
|
-H "X-Checksum-Sha1: ${SHA1_SUM}" \
|
||||||
${file:+-T ${file}} -X PUT \
|
${file:+-T ${file}} -X PUT \
|
||||||
"https://${artifactory_host}/artifactory/${image_path};${PROPS}" ;
|
"https://${artifactory_host}/${image_path};${PROPS}" ;
|
||||||
then
|
then
|
||||||
echo "ERROR: upload file failed: ${file}"
|
echo "ERROR: upload file failed: ${file}"
|
||||||
exit 1
|
exit 1
|
||||||
@ -205,7 +209,8 @@ function kitmakerize-distro() {
|
|||||||
rmdir "${scratch_dir}"
|
rmdir "${scratch_dir}"
|
||||||
}
|
}
|
||||||
|
|
||||||
kitmaker_name="${COMPONENT_NAME//-/_}-${DIST}-${ARCH}-${NVIDIA_CONTAINER_TOOLKIT_PACKAGE_VERSION}"
|
: "${VERSION=$({NVIDIA_CONTAINER_TOOLKIT_PACKAGE_VERSION})}"
|
||||||
|
kitmaker_name="${COMPONENT_NAME//-/_}-${DIST}-${ARCH}-${VERSION}"
|
||||||
kitmaker_archive="${KITMAKER_DIR}/${kitmaker_name}.tar.gz"
|
kitmaker_archive="${KITMAKER_DIR}/${kitmaker_name}.tar.gz"
|
||||||
kitmakerize-distro "${DIST}" "${ARCH}" "${kitmaker_archive}"
|
kitmakerize-distro "${DIST}" "${ARCH}" "${kitmaker_archive}"
|
||||||
push-kitmaker-artifactory "${DIST}" "${ARCH}" "${kitmaker_archive}"
|
push-kitmaker-artifactory "${DIST}" "${ARCH}" "${kitmaker_archive}"
|
||||||
|
Loading…
Reference in New Issue
Block a user