2023-04-19 15:39:35 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
if ! git show -s | grep -q '^Merge'; then
|
|
|
|
echo "Not a merge commit"
|
|
|
|
exit 0;
|
|
|
|
fi
|
|
|
|
|
|
|
|
for comp in `ls components`; do
|
|
|
|
if git log -1 -m --name-only --pretty="" | grep -q components/${comp}/idf_component.yml; then
|
2023-05-09 14:08:08 +02:00
|
|
|
echo "${comp}: Component version file has changed"
|
2023-04-19 15:39:35 +02:00
|
|
|
version=`grep version: components/${comp}/.cz.yaml`
|
|
|
|
version=${version#*version: }
|
2023-10-24 09:06:36 +02:00
|
|
|
version="${version//\~/_}"
|
2023-04-19 15:39:35 +02:00
|
|
|
|
|
|
|
tag_format=`grep tag_format: components/${comp}/.cz.yaml`
|
|
|
|
tag_format=${tag_format#*tag_format: }
|
|
|
|
|
|
|
|
eval tag=$tag_format
|
2023-05-09 14:08:08 +02:00
|
|
|
# check if the tag is already created
|
|
|
|
if [ $(git tag -l "$tag") ]; then
|
|
|
|
echo "${comp}: version (${tag}) already exits"
|
|
|
|
else
|
|
|
|
echo "${comp}: Component version has been updated to ${version}"
|
|
|
|
# creates release notes from the last entry (between first two "## sections")
|
|
|
|
awk '/^## \[/{a++};{if(a==1){print}}' components/${comp}/CHANGELOG.md > release_notes.md
|
|
|
|
|
|
|
|
echo "BUMP_VERSION=${version}"
|
|
|
|
echo "BUMP_COMPONENT=${comp}"
|
|
|
|
echo "BUMP_TAG=${tag}"
|
|
|
|
|
|
|
|
# export the findings to github env, so it could be used in other jobs
|
|
|
|
echo "BUMP_VERSION=${version}" >> "$GITHUB_ENV"
|
|
|
|
echo "BUMP_COMPONENT=${comp}" >> "$GITHUB_ENV"
|
|
|
|
echo "BUMP_TAG=${tag}" >> "$GITHUB_ENV"
|
|
|
|
|
|
|
|
exit 0;
|
|
|
|
fi
|
2023-04-19 15:39:35 +02:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
echo "No changes in component version file"
|