fix comments on prs (#3406)
* fix comments on prs * remove labels * remove test
This commit is contained in:
		
							parent
							
								
									3915bb4316
								
							
						
					
					
						commit
						2e048706e9
					
				
					 1 changed files with 18 additions and 154 deletions
				
			
		
							
								
								
									
										172
									
								
								.github/workflows/pull-request-commit.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										172
									
								
								.github/workflows/pull-request-commit.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -19,6 +19,7 @@ jobs: | ||||||
|     if: ${{ github.event_name == 'pull_request' }} |     if: ${{ github.event_name == 'pull_request' }} | ||||||
|     permissions: |     permissions: | ||||||
|       pull-requests: write |       pull-requests: write | ||||||
|  |       actions: write | ||||||
|     steps: |     steps: | ||||||
|       - name: ⬇️ Checkout |       - name: ⬇️ Checkout | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
|  | @ -82,61 +83,22 @@ jobs: | ||||||
|           pr_path: '../stats-new.json' |           pr_path: '../stats-new.json' | ||||||
|           excluded_assets: '(.+).chunk.js|(.+).js.map|(.+).json|(.+).png' |           excluded_assets: '(.+).chunk.js|(.+).js.map|(.+).json|(.+).png' | ||||||
| 
 | 
 | ||||||
|       - name: 🔍 Find old comment if it exists |       - name: 💬 Drop a comment | ||||||
|         uses: peter-evans/find-comment@v2 |         uses: marocchino/sticky-pull-request-comment@v2 | ||||||
|         if: ${{ github.event_name == 'pull_request' }} |  | ||||||
|         id: old_comment |  | ||||||
|         with: |         with: | ||||||
|           issue-number: ${{ github.event.pull_request.number }} |           header: bundle-diff | ||||||
|           comment-author: 'github-actions[bot]' |           message: | | ||||||
|           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                  | |             | 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 }}%) | |             | ${{ 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 |  | ||||||
|         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.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: |   test-suite-fingerprint: | ||||||
|     runs-on: ubuntu-22.04 |     runs-on: ubuntu-22.04 | ||||||
|     if: ${{ github.event_name == 'pull_request' || github.event_name == 'push' }} |     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 }} |     concurrency: fingerprint-${{ github.event_name != 'pull_request' && 'main' || github.run_id }} | ||||||
|     permissions: |     permissions: | ||||||
|       # REQUIRED: Allow comments of PRs |  | ||||||
|       pull-requests: write |       pull-requests: write | ||||||
|       # REQUIRED: Allow updating fingerprint in acton caches |  | ||||||
|       actions: write |       actions: write | ||||||
|     steps: |     steps: | ||||||
|       - name: ⬇️ Checkout |       - name: ⬇️ Checkout | ||||||
|  | @ -172,126 +134,28 @@ jobs: | ||||||
|           echo "previousGitCommit=${{ steps.fingerprint.outputs.previous-git-commit }} currentGitCommit=${{ steps.fingerprint.outputs.current-git-commit }}" |           echo "previousGitCommit=${{ steps.fingerprint.outputs.previous-git-commit }} currentGitCommit=${{ steps.fingerprint.outputs.current-git-commit }}" | ||||||
|           echo "isPreviousFingerprintEmpty=${{ steps.fingerprint.outputs.previous-fingerprint == '' }}" |           echo "isPreviousFingerprintEmpty=${{ steps.fingerprint.outputs.previous-fingerprint == '' }}" | ||||||
| 
 | 
 | ||||||
|       - name: 🏷️ Labeling PR |       - name: 💬 Drop a comment | ||||||
|         uses: actions/github-script@v6 |         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 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 |  | ||||||
|         if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff != '[]' }} |         if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff != '[]' }} | ||||||
|         with: |         with: | ||||||
|           script: | |           header: fingerprint-diff | ||||||
|             try { |           message: | | ||||||
|               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 --> |  | ||||||
|             The Pull Request introduced fingerprint changes against the base commit: ${{ steps.fingerprint.outputs.previous-git-commit }} |             The Pull Request introduced fingerprint changes against the base commit: ${{ steps.fingerprint.outputs.previous-git-commit }} | ||||||
|             <details><summary>Fingerprint diff</summary> |             <details><summary>Fingerprint diff</summary> | ||||||
| 
 | 
 | ||||||
|             \`\`\`json |             ```json | ||||||
|             ${diff} |             ${{ steps.fingerprint.outputs.fingerprint-diff }} | ||||||
|             \`\`\` |             ``` | ||||||
| 
 | 
 | ||||||
|             </details> |             </details> | ||||||
| 
 | 
 | ||||||
|             --- |             --- | ||||||
|             *Generated by [PR labeler](https://github.com/expo/expo/actions/workflows/pr-labeler.yml) 🤖* |             *Generated by [PR labeler](https://github.com/expo/expo/actions/workflows/pr-labeler.yml) 🤖* | ||||||
|             `; |  | ||||||
| 
 | 
 | ||||||
|             github.rest.issues.createComment({ |       - name: 💬 Delete comment | ||||||
|               issue_number: context.issue.number, |         uses: marocchino/sticky-pull-request-comment@v2 | ||||||
|               owner: context.repo.owner, |         if: ${{ github.event_name == 'pull_request' && steps.fingerprint.outputs.fingerprint-diff == '[]' }} | ||||||
|               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 |  | ||||||
|         with: |         with: | ||||||
|           script: | |           header: fingerprint-diff | ||||||
|             const diff = JSON.stringify(${{ steps.fingerprint.outputs.fingerprint-diff}}, null, 2); |           delete: true | ||||||
|             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} |  | ||||||
|             \`\`\` |  | ||||||
| 
 |  | ||||||
|             </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, |  | ||||||
|             }); |  | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue