mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-19 21:42:25 +02:00
If the merged PR is a few commits behind master, the merge commit could show changes in the version files as well. This fix checks if the version already exists and updates the envirionment only if the tag is not present.
42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/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
|
|
echo "${comp}: Component version file has changed"
|
|
version=`grep version: components/${comp}/.cz.yaml`
|
|
version=${version#*version: }
|
|
|
|
tag_format=`grep tag_format: components/${comp}/.cz.yaml`
|
|
tag_format=${tag_format#*tag_format: }
|
|
|
|
eval tag=$tag_format
|
|
# 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
|
|
fi
|
|
done
|
|
echo "No changes in component version file"
|