Trigger event when VERSION file is changed

Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com>
This commit is contained in:
Sachin Sahu 2024-05-31 10:11:27 +00:00
parent 790fa2a391
commit 67a5aa92ff
2 changed files with 30 additions and 10 deletions

View File

@ -5,6 +5,8 @@ on:
push:
branches:
- "release-*"
paths:
- 'VERSION'
jobs:
build-and-run-release-notes:
@ -13,25 +15,32 @@ jobs:
steps:
- name: Check out code onto GOPATH
uses: actions/checkout@v4
with:
fetch-depth: 5
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'
check-latest: true
- name: Build and Install Release Notes Tool
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
./generate-changelog.sh
cat CHANGELOG.md
- name: Read Tag Name from VERSION File
id: tag_name
run: |
echo "tag_name=$(cat VERSION)" >> $GITHUB_ENV
echo "prev_tag_name=$(git show HEAD~1:VERSION)" >> $GITHUB_ENV
echo "tag_name=$(cat VERSION)" >> $GITHUB_ENV
echo "todays_date=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
./generate-changelog.sh
- name: Update CHANGELOG.md header
run: |
echo "Tag Name: ${{ env.tag_name }}"
echo "Today's Date: ${{ env.todays_date }}"
echo "Previous Tag Name: ${{ env.prev_tag_name }}"
NEW_HEADER="## ${{ env.tag_name }} / ${{ env.todays_date }}"
sed -i '1s|.*|'"$NEW_HEADER"'\n\n|' CHANGELOG.md
cat CHANGELOG.md
- name: Get Base SHA from Tag
id: base_sha

View File

@ -7,7 +7,9 @@ CURR_DIR=$(pwd)
VERSION=$(cat VERSION)
TAG_NAME="v${VERSION}"
echo "Current HEAD: $(git rev-parse HEAD)"
PREVIOUS_VERSION=$(git show HEAD~1:VERSION)
echo "Previous Tag Version: $PREVIOUS_VERSION"
MANUAL_START_SHA=$1
MANUAL_END_SHA=$2
@ -47,4 +49,13 @@ release-notes \
cat "CHANGELOG_NEW.md"
# Append new changelog entries to Unreleased section
sed "/## Unreleased/r CHANGELOG_NEW.md" "${CURR_DIR}/CHANGELOG.md" > "CHANGELOG_TMP.md" && mv "CHANGELOG_TMP.md" "${CURR_DIR}/CHANGELOG.md"
if grep -q "## Unreleased" "${CURR_DIR}/CHANGELOG.md"; then
sed "/## Unreleased/r CHANGELOG_NEW.md" "${CURR_DIR}/CHANGELOG.md" > "CHANGELOG_TMP.md" &&
mv "CHANGELOG_TMP.md" "${CURR_DIR}/CHANGELOG.md"
else
printf '## Unreleased\n\n' > "CHANGELOG_TMP.md"
cat CHANGELOG_NEW.md >> "CHANGELOG_TMP.md"
printf '\n\n' >> "CHANGELOG_TMP.md"
cat "${CURR_DIR}/CHANGELOG.md" >> "CHANGELOG_TMP.md"
mv "CHANGELOG_TMP.md" "${CURR_DIR}/CHANGELOG.md"
fi