about summary refs log tree commit diff
path: root/.github
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-04-04 13:52:38 -0700
committerGitHub <noreply@github.com>2024-04-04 13:52:38 -0700
commit2e048706e9013fb808b5e302e3c540e34f1ea342 (patch)
tree70199bd12637fb2501de8c33b46e16983ba0494a /.github
parent3915bb43169ae501d81571c5e1efa12cf0e24dbb (diff)
downloadvoidsky-2e048706e9013fb808b5e302e3c540e34f1ea342.tar.zst
fix comments on prs (#3406)
* fix comments on prs

* remove labels

* remove test
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/pull-request-commit.yml172
1 files changed, 18 insertions, 154 deletions
diff --git a/.github/workflows/pull-request-commit.yml b/.github/workflows/pull-request-commit.yml
index 24c0a7919..796ebdf9b 100644
--- a/.github/workflows/pull-request-commit.yml
+++ b/.github/workflows/pull-request-commit.yml
@@ -19,6 +19,7 @@ jobs:
     if: ${{ github.event_name == 'pull_request' }}
     permissions:
       pull-requests: write
+      actions: write
     steps:
       - name: ⬇️ Checkout
         uses: actions/checkout@v4
@@ -82,61 +83,22 @@ jobs:
           pr_path: '../stats-new.json'
           excluded_assets: '(.+).chunk.js|(.+).js.map|(.+).json|(.+).png'
 
-      - name: 🔍 Find old comment if it exists
-        uses: peter-evans/find-comment@v2
-        if: ${{ github.event_name == 'pull_request' }}
-        id: old_comment
-        with:
-          issue-number: ${{ github.event.pull_request.number }}
-          comment-author: 'github-actions[bot]'
-          body-includes: <!-- webpack-analyzer comment -->
-
-      - name: 💬 Add comment with diff
-        uses: actions/github-script@v6
-        if: ${{ steps.old_comment.outputs.comment-id == '' }}
-        with:
-          script: |
-            const body = `<!-- webpack-analyzer comment -->
-            | Old size | New size | Diff                  |
-            |----------|----------|-----------------------|
-            | ${{ steps.get-diff.outputs.base_file_string }} | ${{ steps.get-diff.outputs.pr_file_string }} | ${{ steps.get-diff.outputs.diff_file_string }} (${{ steps.get-diff.outputs.percent }}%) |
-            `;
-            
-            github.rest.issues.createComment({
-              issue_number: context.issue.number,
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              body: body,
-            });
-
-      - name: 💬 Update comment with fingerprint
-        if: ${{ steps.old_comment.outputs.comment-id != '' }}
-        uses: actions/github-script@v6
+      - name: 💬 Drop a comment
+        uses: marocchino/sticky-pull-request-comment@v2
         with:
-          script: |
-            const body = `<!-- webpack-analyzer comment -->
+          header: bundle-diff
+          message: |
             | Old size | New size | Diff                  |
             |----------|----------|-----------------------|
             | ${{ steps.get-diff.outputs.base_file_string }} | ${{ steps.get-diff.outputs.pr_file_string }} | ${{ steps.get-diff.outputs.diff_file_string }} (${{ steps.get-diff.outputs.percent }}%) |
-            `;
-
-            github.rest.issues.updateComment({
-              issue_number: context.issue.number,
-              comment_id: '${{ steps.old_comment.outputs.comment-id }}',
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              body: body,
-            });
+            ---
 
   test-suite-fingerprint:
     runs-on: ubuntu-22.04
     if: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }}
-    # REQUIRED: limit concurrency when pushing main(default) branch to prevent conflict for this action to update its fingerprint database
     concurrency: fingerprint-${{ github.event_name != 'pull_request' && 'main' || github.run_id }}
     permissions:
-      # REQUIRED: Allow comments of PRs
       pull-requests: write
-      # REQUIRED: Allow updating fingerprint in acton caches
       actions: write
     steps:
       - name: ⬇️ Checkout
@@ -172,126 +134,28 @@ jobs:
           echo "previousGitCommit=${{ steps.fingerprint.outputs.previous-git-commit }} currentGitCommit=${{ steps.fingerprint.outputs.current-git-commit }}"
           echo "isPreviousFingerprintEmpty=${{ steps.fingerprint.outputs.previous-fingerprint == '' }}"
 
-      - name: 🏷️ Labeling PR
-        uses: actions/github-script@v6
-        if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff == '[]' }}
-        with:
-          script: |
-            try {
-              await github.rest.issues.removeLabel({
-                issue_number: context.issue.number,
-                owner: context.repo.owner,
-                repo: context.repo.repo,
-                name: ['bot: fingerprint changed']
-              })
-            } catch (e) {
-              if (e.status != 404) {
-                throw e;
-              }
-            }
-            github.rest.issues.addLabels({
-              issue_number: context.issue.number,
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              labels: ['bot: fingerprint compatible']
-            })
-
-      - name: 🏷️ Labeling PR
-        uses: actions/github-script@v6
+      - name: 💬 Drop a comment
+        uses: marocchino/sticky-pull-request-comment@v2
         if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff != '[]' }}
         with:
-          script: |
-            try {
-              await github.rest.issues.removeLabel({
-                issue_number: context.issue.number,
-                owner: context.repo.owner,
-                repo: context.repo.repo,
-                name: ['bot: fingerprint compatible']
-              })
-            } catch (e) {
-              if (e.status != 404) {
-                throw e;
-              }
-            }
-            github.rest.issues.addLabels({
-              issue_number: context.issue.number,
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              labels: ['bot: fingerprint changed']
-            })
-
-      - name: 🔍 Find old comment if it exists
-        uses: peter-evans/find-comment@v2
-        if: ${{ github.event_name == 'pull_request' }}
-        id: old_comment
-        with:
-          issue-number: ${{ github.event.pull_request.number }}
-          comment-author: 'github-actions[bot]'
-          body-includes: <!-- pr-labeler comment -->
-
-      - name: 💬 Add comment with fingerprint
-        if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff != '[]' && steps.old_comment.outputs.comment-id == '' }}
-        uses: actions/github-script@v6
-        with:
-          script: |
-            const diff = JSON.stringify(${{ steps.fingerprint.outputs.fingerprint-diff}}, null, 2);
-            const body = `<!-- pr-labeler comment -->
+          header: fingerprint-diff
+          message: |
             The Pull Request introduced fingerprint changes against the base commit: ${{ steps.fingerprint.outputs.previous-git-commit }}
             <details><summary>Fingerprint diff</summary>
 
-            \`\`\`json
-            ${diff}
-            \`\`\`
+            ```json
+            ${{ steps.fingerprint.outputs.fingerprint-diff }}
+            ```
 
             </details>
 
             ---
             *Generated by [PR labeler](https://github.com/expo/expo/actions/workflows/pr-labeler.yml) 🤖*
-            `;
 
-            github.rest.issues.createComment({
-              issue_number: context.issue.number,
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              body: body,
-            });
-
-      - name: 💬 Update comment with fingerprint
-        if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff != '[]' && steps.old_comment.outputs.comment-id != '' }}
-        uses: actions/github-script@v6
+      - name: 💬 Delete comment
+        uses: marocchino/sticky-pull-request-comment@v2
+        if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff == '[]' }}
         with:
-          script: |
-            const diff = JSON.stringify(${{ steps.fingerprint.outputs.fingerprint-diff}}, null, 2);
-            const body = `<!-- pr-labeler comment -->
-            The Pull Request introduced fingerprint changes against the base commit: ${{ steps.fingerprint.outputs.previous-git-commit }}
-            <details><summary>Fingerprint diff</summary>
-
-            \`\`\`json
-            ${diff}
-            \`\`\`
+          header: fingerprint-diff
+          delete: true
 
-            </details>
-
-            ---
-            *Generated by [PR labeler](https://github.com/expo/expo/actions/workflows/pr-labeler.yml) 🤖*
-            `;
-
-            github.rest.issues.updateComment({
-              issue_number: context.issue.number,
-              comment_id: '${{ steps.old_comment.outputs.comment-id }}',
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-              body: body,
-            });
-
-      - name: 💬 Delete comment with fingerprint
-        if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff == '[]' && steps.old_comment.outputs.comment-id != '' }}
-        uses: actions/github-script@v6
-        with:
-          script: |
-            github.rest.issues.deleteComment({
-              issue_number: context.issue.number,
-              comment_id: '${{ steps.old_comment.outputs.comment-id }}',
-              owner: context.repo.owner,
-              repo: context.repo.repo,
-            });