Changelog script improvements

This commit is contained in:
Jeremy Soller 2022-11-23 10:59:53 -07:00
parent 008598457d
commit 7558f4b161
No known key found for this signature in database
GPG key ID: 87F211AF2BE4C2FE

View file

@ -7,36 +7,42 @@ LAST_RELEASE_TIMESTAMP="$(git log --format="%ct" -1 "${LAST_RELEASE_TAG}")"
echo "Last release: ${LAST_RELEASE_TAG} at ${LAST_RELEASE_TIMESTAMP}" echo "Last release: ${LAST_RELEASE_TAG} at ${LAST_RELEASE_TIMESTAMP}"
REPOS=( REPOS=(
. redox=.
cookbook cookbook=cookbook
) )
for package in $(installer/target/release/redox_installer --list-packages -c config/x86_64/desktop.toml) for package in $(installer/target/release/redox_installer --list-packages -c config/x86_64/desktop.toml)
do do
REPOS+=("cookbook/recipes/${package}/source") REPOS+=("${package}=cookbook/recipes/${package}/source")
done done
# TODO: resolve dependencies instead of manually adding these initfs packages # TODO: resolve dependencies instead of manually adding these initfs packages
for package in init logd nulld ramfs randd zerod for package in init logd nulld ramfs randd zerod
do do
REPOS+=("cookbook/recipes/${package}/source") REPOS+=("${package}=cookbook/recipes/${package}/source")
done done
for repo in "${REPOS[@]}" for name_repo in "${REPOS[@]}"
do do
remote="$(git -C "${repo}" remote get-url origin)" name="$(echo "${name_repo}" | cut -d "=" -f 1)"
website="${remote%.*}" repo="$(echo "${name_repo}" | cut -d "=" -f 2-)"
name="$(basename "${website}")"
before="$(git -C "${repo}" log --until="${LAST_RELEASE_TIMESTAMP}" --format="%h" -1)"
after="$(git -C "${repo}" log --since="${LAST_RELEASE_TIMESTAMP}" --format="%h" -1)"
echo -en "\x1B[1m${name}:\x1B[0m " echo -en "\x1B[1m${name}:\x1B[0m "
if [ -z "${before}" ] if [ -e "${repo}/.git" ]
then then
echo "New repository at ${website}" remote="$(git -C "${repo}" remote get-url origin)"
elif [ -z "${after}" ] website="${remote%.*}"
then before="$(git -C "${repo}" log --until="${LAST_RELEASE_TIMESTAMP}" --format="%h" -1)"
echo "No changes" after="$(git -C "${repo}" log --since="${LAST_RELEASE_TIMESTAMP}" --format="%h" -1)"
if [ -z "${before}" ]
then
echo "New repository at ${website}"
elif [ -z "${after}" ]
then
echo "No changes"
else
echo "${website}/-/compare/${before}...${after}"
fi
else else
echo "${website}/-/compare/${before}...${after}" echo "Not a git repository"
fi fi
done done