From d7955d3675b161d59c444b26180c6beddd0f10e5 Mon Sep 17 00:00:00 2001 From: Paul-Henry Kajfasz <42912740+phklive@users.noreply.github.com> Date: Tue, 16 Jul 2024 22:16:33 +0200 Subject: [PATCH] Throw warning and fail CI if `CHANGELOG.md` file has not been modified (#1400) * Reset head + add changelog workflow * Make job fail * Improve warning message * update warning --- .github/workflows/changelog.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/changelog.yml diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000000..1de1b6372c --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,28 @@ +name: Changelog + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + check-changelog: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@main + with: + fetch-depth: 0 + + - name: Check if CHANGELOG.md is modified + run: | + # Get the list of changed files in the PR + changed_files=$(git diff --name-only origin/${{ github.event.pull_request.base.ref }}...${{ github.sha }}) + + # Check if CHANGELOG.md is in the list of changed files + if echo "$changed_files" | grep -q '^CHANGELOG.md$'; then + echo "CHANGELOG.md has been modified." + else + echo $'::warning file=CHANGELOG.md::CHANGELOG.md has not been modified.\n This warning can be ignored if is has been explicitely decided not to log changes.\n Except in this situation, make sure to add log changes.' + exit 1 + fi