From 15178bca3f60fdab8313fcc861ad3351853f842d Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Wed, 3 Jan 2024 16:34:18 +0200 Subject: fix changelog checker in CI to regex escape the submitter username --- .github/workflows/require-changelog-for-PRs.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/require-changelog-for-PRs.yml b/.github/workflows/require-changelog-for-PRs.yml index 263fee22..1443e883 100644 --- a/.github/workflows/require-changelog-for-PRs.yml +++ b/.github/workflows/require-changelog-for-PRs.yml @@ -29,5 +29,15 @@ jobs: ADDED=$(git diff -U0 "origin/${PR_BASE}" HEAD -- CHANGELOG.md | grep -P '^\+[^\+].+$') echo "Added lines in CHANGELOG.md:" echo "$ADDED" + + escape_regex_meta_chars() { + # https://stackoverflow.com/a/16951928/4473405 + sed 's/[][\.|$(){}?+*^]/\\&/g' <<< "$*" + } + + double_escape_slash_for_bash() { + sed 's/\\/\\\\/g' <<< "$*" + } + echo "Grepping for PR info:" - grep "#${PR_NUMBER}\\b.*@${PR_SUBMITTER}\\b" <<< "$ADDED" + grep "#${PR_NUMBER}\\b.*[(]@$(quote ${PR_SUBMITTER})[)]" <<< "$ADDED" -- cgit v1.2.3