mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-24 13:05:17 +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"
|
echo "Creating draft release"
|
||||||
./hack/generate-changelog.sh --version ${VERSION} | \
|
./hack/generate-changelog.sh --version ${VERSION} | \
|
||||||
grep -v "### Version v" | \
|
gh release create ${VERSION} --notes-file "-" \
|
||||||
echo gh release create ${VERSION} --notes-file "-" \
|
|
||||||
--draft \
|
--draft \
|
||||||
--title "${VERSION}" \
|
--title "${VERSION}" \
|
||||||
-R "${REPOSITORY}" \
|
-R "${REPOSITORY}" \
|
||||||
@ -43,5 +42,7 @@ echo "Uploading release artifacts for ${VERSION}"
|
|||||||
PACKAGE_ROOT=release-${VERSION}-${REPO}
|
PACKAGE_ROOT=release-${VERSION}-${REPO}
|
||||||
|
|
||||||
gh release upload ${VERSION} \
|
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}
|
-R ${REPOSITORY}
|
||||||
|
@ -66,6 +66,12 @@ remote=$( git remote -v | grep -E "NVIDIA/nvidia-container-toolkit(\.git)?\s" |
|
|||||||
>&2 echo "Detected remote as '${remote}'"
|
>&2 echo "Detected remote as '${remote}'"
|
||||||
git fetch ${remote} --tags
|
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 REFERENCE is not set, get the latest tag
|
||||||
if [ -z "$REFERENCE" ]; then
|
if [ -z "$REFERENCE" ]; then
|
||||||
most_recent_tag=$(git tag --sort=-creatordate | head -1)
|
most_recent_tag=$(git tag --sort=-creatordate | head -1)
|
||||||
@ -79,9 +85,26 @@ fi
|
|||||||
>&2 echo "Using ${REFERENCE} as previous version"
|
>&2 echo "Using ${REFERENCE} as previous version"
|
||||||
|
|
||||||
# Print the changelog
|
# Print the changelog
|
||||||
echo "# Changelog"
|
echo "## What's Changed"
|
||||||
echo ""
|
echo ""
|
||||||
echo "## $VERSION"
|
|
||||||
|
|
||||||
# Iterate over the commit messages and ignore the ones that start with "Merge" or "Bump"
|
# 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=${VERSION/-/\~}
|
||||||
PACKAGE_VERSION=${PACKAGE_VERSION#v}
|
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#v}_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#v}_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#v}_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}_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
|
REMOVE_PACKAGE_CACHE=no
|
||||||
if [ ! -d ${PACKAGE_CACHE} ]; then
|
if [ ! -d ${PACKAGE_CACHE} ]; then
|
||||||
echo "Fetching packages with SHA '${SHA}' as tag '${VERSION}' to ${PACKAGE_CACHE}"
|
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_IMAGE_NAME}:${PACKAGE_IMAGE_TAG} \
|
||||||
${PACKAGE_CACHE}
|
${PACKAGE_CACHE}
|
||||||
REMOVE_PACKAGE_CACHE=yes
|
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
|
for var in "CI_PROJECT_ID" "CI_PIPELINE_ID" "CI_JOB_ID" "CI_JOB_URL" "CI_PROJECT_PATH"; do
|
||||||
if [ -n "${!var}" ]; then
|
if [ -n "${!var}" ]; then
|
||||||
optionally_add_property "${var}" "${!var}"
|
props+=("${property}=${value}")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
local PROPS=$(join_by ";" "${props[@]}")
|
local PROPS=$(join_by ";" "${props[@]}")
|
||||||
|
Loading…
Reference in New Issue
Block a user