Revision 150443242bab4e8e5d04a2433ea792996f32de50 authored by Gray Liang on 22 February 2024, 10:31:46 UTC, committed by Gray Liang on 22 February 2024, 10:31:46 UTC
This reverts commit f875005f9eabe1f79157bd318da055770ef2ce49. Signed-off-by: Zhichuan Liang <gray.liang@isovalent.com>
1 parent d015c37
prep-changelog.sh
#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0
# Copyright Authors of Cilium
DIR=$(dirname $(readlink -ne $BASH_SOURCE))
source $DIR/lib/common.sh
source $DIR/../backporting/common.sh
RELEASE_TOOL_PATH="${RELEASE_TOOL_PATH:-$GOPATH/src/github.com/cilium/release}"
RELNOTES="$RELEASE_TOOL_PATH/release"
RELNOTESCACHE="release-state.json"
usage() {
logecho "usage: $0 <OLD-VERSION> <NEW-VERSION> [OLD-BRANCH]"
logecho "OLD-VERSION Previous release version for comparison"
logecho "NEW-VERSION Target release version"
logecho "OLD-BRANCH Branch of the previous release version if VERSION is "
logecho " a new minor version"
logecho
logecho "--help Print this help message"
}
handle_args() {
if [ "$#" -gt 3 ]; then
usage 2>&1
common::exit 1
fi
if [[ "$1" = "--help" ]] || [[ "$1" = "-h" ]]; then
usage
common::exit 0
fi
if ! echo "$1" | grep -q "$RELEASE_REGEX"; then
usage 2>&1
common::exit 1 "Invalid OLD-VERSION ARG \"$1\"; $RELEASE_FORMAT_MSG"
fi
if ! echo "$2" | grep -q "$RELEASE_REGEX"; then
usage 2>&1
common::exit 1 "Invalid NEW-VERSION ARG \"$2\"; $RELEASE_FORMAT_MSG"
fi
if [ "$#" -eq 3 ] && ! echo "$3" | grep -q "[0-9]\+\.[0-9]\+"; then
usage 2>&1
common::exit 1 "Invalid OLD-BRANCH ARG \"$3\"; Expected X.Y"
fi
if ! gh auth status >/dev/null; then
common::exit 1 "Failed to authenticate with GitHub"
fi
}
main() {
handle_args "$@"
local old_version="$(echo $1 | sed 's/^v//')"
local ersion="$(echo $2 | sed 's/^v//')"
local version="v$ersion"
local old_branch="$(echo $3 | sed 's/^v//')"
local GITHUB_TOKEN=${GITHUB_TOKEN:-"$(gh auth token)"}
logecho "Generating CHANGELOG.md"
rm -f $RELNOTESCACHE
echo -e "# Changelog\n\n## $version" > $version-changes.txt
if [ "${old_branch}" = "" ] ; then
$RELNOTES --base $old_version --head $(git rev-parse HEAD) >> $version-changes.txt
else
$RELNOTES --last-stable $old_branch --base $old_version --head $(git rev-parse HEAD) >> $version-changes.txt
fi
cp $version-changes.txt CHANGELOG-new.md
if [[ -e CHANGELOG.md ]]; then
tail -n+2 CHANGELOG.md >> CHANGELOG-new.md
fi
mv CHANGELOG-new.md CHANGELOG.md
logecho "Generated CHANGELOG.md"
}
main "$@"
Computing file changes ...