mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-24 04:54:00 +00:00
Merge pull request #601 from elezar/post-release-tooling-fix
[no-relnote] Fix release tooling
This commit is contained in:
commit
fce56f905b
@ -30,8 +30,7 @@ REPOSITORY=NVIDIA/nvidia-container-toolkit
|
||||
|
||||
echo "Creating draft release"
|
||||
./hack/generate-changelog.sh --version ${VERSION} | \
|
||||
grep -v "### Version v" | \
|
||||
echo gh release create ${VERSION} --notes-file "-" \
|
||||
gh release create ${VERSION} --notes-file "-" \
|
||||
--draft \
|
||||
--title "${VERSION}" \
|
||||
-R "${REPOSITORY}" \
|
||||
@ -43,5 +42,7 @@ echo "Uploading release artifacts for ${VERSION}"
|
||||
PACKAGE_ROOT=release-${VERSION}-${REPO}
|
||||
|
||||
gh release upload ${VERSION} \
|
||||
${PACKAGE_ROOT}/nvidia-container-toolkit-${VERSION}.*.tar.gz \
|
||||
${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_*.tar.gz \
|
||||
${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_checksums.txt \
|
||||
--clobber \
|
||||
-R ${REPOSITORY}
|
||||
|
@ -66,6 +66,12 @@ remote=$( git remote -v | grep -E "NVIDIA/nvidia-container-toolkit(\.git)?\s" |
|
||||
>&2 echo "Detected remote as '${remote}'"
|
||||
git fetch ${remote} --tags
|
||||
|
||||
git tag | grep ${VERSION} > /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
>&2 echo "${VERSION} is not a valid git reference, using HEAD"
|
||||
VERSION=HEAD
|
||||
fi
|
||||
|
||||
# if REFERENCE is not set, get the latest tag
|
||||
if [ -z "$REFERENCE" ]; then
|
||||
most_recent_tag=$(git tag --sort=-creatordate | head -1)
|
||||
@ -79,9 +85,26 @@ fi
|
||||
>&2 echo "Using ${REFERENCE} as previous version"
|
||||
|
||||
# Print the changelog
|
||||
echo "# Changelog"
|
||||
echo "## What's Changed"
|
||||
echo ""
|
||||
echo "## $VERSION"
|
||||
|
||||
# Iterate over the commit messages and ignore the ones that start with "Merge" or "Bump"
|
||||
git log --pretty=format:"%s" $REFERENCE..@ | grep -Ev "(^Merge )|(^Bump)|(no-rel-?note)|(^---)" | sed 's/^\(.*\)/- \1/g'
|
||||
git log --pretty=format:"%s" $REFERENCE..$VERSION -- ':!deployments/container' ':!tools' | grep -Ev "(^Merge )|(^Bump)|(no-rel-?note)|(^---)" | sed 's/^\(.*\)/- \1/g'
|
||||
|
||||
echo ""
|
||||
echo "### Changes in the Toolkit Container"
|
||||
echo ""
|
||||
git log --pretty=format:"%s" $REFERENCE..$VERSION -- deployments/container tools | grep -Ev "(^Merge )|(no-rel-?note)|(^---)" | sed 's/^\(.*\)/- \1/g'
|
||||
|
||||
LIB_NVIDIA_CONTAINER_REFERENCE=$( git ls-tree $REFERENCE third_party/libnvidia-container --object-only )
|
||||
LIB_NVIDIA_CONTAINER_VERSION=$( git ls-tree $VERSION third_party/libnvidia-container --object-only )
|
||||
|
||||
echo ""
|
||||
if [[ $(git -C third_party/libnvidia-container log --pretty=format:"%s" $LIB_NVIDIA_CONTAINER_REFERENCE..$LIB_NVIDIA_CONTAINER_VERSION | grep -Ev "(^Merge )|(^Bump)|(no-rel-?note)|(^---)" | sed 's/^\(.*\)/- \1/g' | wc -l) -gt 0 ]]; then
|
||||
echo "### Changes in libnvidia-container"
|
||||
echo ""
|
||||
git -C third_party/libnvidia-container log --pretty=format:"%s" $LIB_NVIDIA_CONTAINER_REFERENCE..$LIB_NVIDIA_CONTAINER_VERSION | grep -Ev "(^Merge )|(^Bump)|(no-rel-?note)|(^---)" | sed 's/^\(.*\)/- \1/g'
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "**Full Changelog**: https://github.com/NVIDIA/nvidia-container-toolkit/compare/${REFERENCE}...${VERSION}"
|
||||
echo ""
|
||||
|
@ -47,7 +47,42 @@ PACKAGE_ROOT=release-${VERSION}-${REPO}
|
||||
PACKAGE_VERSION=${VERSION/-/\~}
|
||||
PACKAGE_VERSION=${PACKAGE_VERSION#v}
|
||||
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit-${VERSION}.deb.amd64.tar.gz ${PACKAGE_ROOT}/packages/ubuntu18.04/amd64/*_${PACKAGE_VERSION}-1_amd64.deb
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit-${VERSION}.deb.arm64.tar.gz ${PACKAGE_ROOT}/packages/ubuntu18.04/arm64/*_${PACKAGE_VERSION}-1_arm64.deb
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit-${VERSION}.rpm.aarch64.tar.gz ${PACKAGE_ROOT}/packages/centos7/aarch64/*-${PACKAGE_VERSION}-1.aarch64.rpm
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit-${VERSION}.rpm.x86_64.tar.gz ${PACKAGE_ROOT}/packages/centos7/x86_64/*-${PACKAGE_VERSION}-1.x86_64.rpm
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_deb_amd64.tar.gz ${PACKAGE_ROOT}/packages/ubuntu18.04/amd64/*_${PACKAGE_VERSION}-1_amd64.deb
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_deb_arm64.tar.gz ${PACKAGE_ROOT}/packages/ubuntu18.04/arm64/*_${PACKAGE_VERSION}-1_arm64.deb
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_rpm_aarch64.tar.gz ${PACKAGE_ROOT}/packages/centos7/aarch64/*-${PACKAGE_VERSION}-1.aarch64.rpm
|
||||
tar -czvf ${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_rpm_x86_64.tar.gz ${PACKAGE_ROOT}/packages/centos7/x86_64/*-${PACKAGE_VERSION}-1.x86_64.rpm
|
||||
|
||||
is_command() (
|
||||
command -v "$1" >/dev/null
|
||||
)
|
||||
|
||||
hash_sha256() (
|
||||
TARGET=${1:-/dev/stdin}
|
||||
if is_command gsha256sum; then
|
||||
hash=$(gsha256sum "$TARGET") || return 1
|
||||
echo "$hash" | cut -d ' ' -f 1
|
||||
elif is_command sha256sum; then
|
||||
hash=$(sha256sum "$TARGET") || return 1
|
||||
echo "$hash" | cut -d ' ' -f 1
|
||||
elif is_command shasum; then
|
||||
hash=$(shasum -a 256 "$TARGET" 2>/dev/null) || return 1
|
||||
echo "$hash" | cut -d ' ' -f 1
|
||||
elif is_command openssl; then
|
||||
hash=$(openssl -dst openssl dgst -sha256 "$TARGET") || return 1
|
||||
echo "$hash" | cut -d ' ' -f a
|
||||
else
|
||||
log_err "hash_sha256 unable to find command to compute sha-256 hash"
|
||||
return 1
|
||||
fi
|
||||
)
|
||||
|
||||
files=$( ls ${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_*.tar.gz )
|
||||
|
||||
CHECKSUM_FILE=${PACKAGE_ROOT}/nvidia-container-toolkit_${VERSION#v}_checksums.txt
|
||||
rm -f ${CHECKSUM_FILE}
|
||||
|
||||
set -e
|
||||
for f in ${files}; do
|
||||
hash_f=$(hash_sha256 $f)
|
||||
echo "${hash_f} $f" >> $CHECKSUM_FILE
|
||||
done
|
||||
|
@ -61,7 +61,7 @@ PACKAGE_CACHE=release-${VERSION}-${REPO}
|
||||
REMOVE_PACKAGE_CACHE=no
|
||||
if [ ! -d ${PACKAGE_CACHE} ]; then
|
||||
echo "Fetching packages with SHA '${SHA}' as tag '${VERSION}' to ${PACKAGE_CACHE}"
|
||||
${SCRIPTS_DIR}/pull-packages.sh \
|
||||
${SCRIPTS_DIR}/../hack/pull-packages.sh \
|
||||
${PACKAGE_IMAGE_NAME}:${PACKAGE_IMAGE_TAG} \
|
||||
${PACKAGE_CACHE}
|
||||
REMOVE_PACKAGE_CACHE=yes
|
||||
@ -113,7 +113,7 @@ function upload_archive() {
|
||||
|
||||
for var in "CI_PROJECT_ID" "CI_PIPELINE_ID" "CI_JOB_ID" "CI_JOB_URL" "CI_PROJECT_PATH"; do
|
||||
if [ -n "${!var}" ]; then
|
||||
optionally_add_property "${var}" "${!var}"
|
||||
props+=("${property}=${value}")
|
||||
fi
|
||||
done
|
||||
local PROPS=$(join_by ";" "${props[@]}")
|
||||
|
Loading…
Reference in New Issue
Block a user