#!/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 has been updated"
    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

    # 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
done
echo "No changes in component version file"
