From ad8766b17a96b8680d7c68f3908cd0f1874a6fff Mon Sep 17 00:00:00 2001 From: Deluan Date: Mon, 24 Nov 2025 23:42:23 -0500 Subject: [PATCH] feat: post PR comment when migrations are modified When modified migration files are detected, the script now posts a comment on the PR to alert reviewers. This makes the warning more visible than just the workflow annotation. The comment lists all modified migration files and warns about potential issues for users who have already applied them. --- .github/workflows/pipeline.yml | 3 +++ .github/workflows/validate-migrations.sh | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 96d259425..af9e831b1 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -172,6 +172,9 @@ jobs: run: git fetch origin master - name: Validate migration timestamps + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_NUMBER: ${{ github.event.pull_request.number }} run: ./.github/workflows/validate-migrations.sh check-push-enabled: diff --git a/.github/workflows/validate-migrations.sh b/.github/workflows/validate-migrations.sh index daa659389..f2f30270a 100755 --- a/.github/workflows/validate-migrations.sh +++ b/.github/workflows/validate-migrations.sh @@ -57,6 +57,26 @@ if [ -n "$MODIFIED_MIGRATIONS" ]; then echo " - $migration (timestamp: $TIMESTAMP)" echo "::warning file=$migration::Modifying existing migration files may cause issues for users who have already applied them" done + + # Post a PR review comment if running in GitHub Actions with a PR + if [ -n "$GITHUB_TOKEN" ] && [ -n "$GITHUB_REPOSITORY" ] && [ -n "$PR_NUMBER" ]; then + COMMENT_BODY="### ⚠️ Modified Migration Files Detected + +This PR modifies existing migration files that may have already been applied by users: + +$(for m in $MODIFIED_MIGRATIONS; do echo "- \`$m\`"; done) + +**Warning:** Modifying migrations that have already been applied can cause issues for existing users. Please ensure this change is intentional and consider the impact on users who have already run these migrations." + + # Use GitHub API to post a PR comment + curl -s -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$GITHUB_REPOSITORY/issues/$PR_NUMBER/comments" \ + -d "$(jq -n --arg body "$COMMENT_BODY" '{body: $body}')" > /dev/null + + echo "Posted PR comment about modified migrations" + fi fi if [ "$HAS_ERRORS" = "true" ]; then