PR Comment #1447
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR Comment | |
| on: | |
| workflow_run: | |
| workflows: ["SDK PR Checks", "CLI PR Checks"] | |
| types: | |
| - completed | |
| permissions: | |
| contents: read | |
| issues: write | |
| pull-requests: write | |
| jobs: | |
| comment: | |
| name: Post Check Results | |
| runs-on: ubuntu-latest | |
| if: > | |
| github.event.workflow_run.event == 'pull_request' && | |
| github.event.workflow_run.conclusion != 'cancelled' | |
| steps: | |
| - name: Download check results | |
| uses: actions/download-artifact@v4 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| run-id: ${{ github.event.workflow_run.id }} | |
| pattern: "*-results" | |
| merge-multiple: true | |
| - name: Read PR metadata | |
| id: pr-metadata | |
| run: | | |
| if [ -f pr-metadata/pr_number.txt ]; then | |
| PR_NUMBER=$(cat pr-metadata/pr_number.txt) | |
| echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT | |
| else | |
| echo "PR metadata not found, skipping comment" | |
| exit 0 | |
| fi | |
| - name: Read check results | |
| id: results | |
| run: | | |
| # JS SDK: Read format check | |
| if [ -f js/format_report.txt ]; then | |
| echo "format_report<<EOF" >> $GITHUB_OUTPUT | |
| cat js/format_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| # JS SDK: Read type check | |
| if [ -f js/type_check_report.txt ]; then | |
| echo "type_check_report<<EOF" >> $GITHUB_OUTPUT | |
| cat js/type_check_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| # JS SDK: Read test results | |
| if [ -f js/test_report.txt ]; then | |
| echo "test_report<<EOF" >> $GITHUB_OUTPUT | |
| cat js/test_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| # JS SDK: Read lint check | |
| if [ -f js/lint_report.txt ]; then | |
| echo "lint_report<<EOF" >> $GITHUB_OUTPUT | |
| cat js/lint_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| # JS SDK: Read browser compatibility | |
| if [ -f js/browser_report.txt ]; then | |
| echo "browser_report<<EOF" >> $GITHUB_OUTPUT | |
| cat js/browser_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| # CLI: Read lint check | |
| if [ -f cli/lint_report.txt ]; then | |
| echo "cli_lint_report<<EOF" >> $GITHUB_OUTPUT | |
| cat cli/lint_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| # CLI: Read type check | |
| if [ -f cli/type_check_report.txt ]; then | |
| echo "cli_type_check_report<<EOF" >> $GITHUB_OUTPUT | |
| cat cli/type_check_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| # CLI: Read test results | |
| if [ -f cli/test_report.txt ]; then | |
| echo "cli_test_report<<EOF" >> $GITHUB_OUTPUT | |
| cat cli/test_report.txt >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Find existing comment | |
| if: steps.pr-metadata.outputs.pr_number | |
| uses: peter-evans/find-comment@v3 | |
| id: fc | |
| with: | |
| issue-number: ${{ steps.pr-metadata.outputs.pr_number }} | |
| comment-author: 'github-actions[bot]' | |
| body-includes: '## π Check Results' | |
| - name: Create or update comment | |
| if: steps.pr-metadata.outputs.pr_number | |
| uses: peter-evans/create-or-update-comment@v4 | |
| with: | |
| comment-id: ${{ steps.fc.outputs.comment-id }} | |
| issue-number: ${{ steps.pr-metadata.outputs.pr_number }} | |
| edit-mode: replace | |
| body: | | |
| ## π Check Results | |
| ${{ steps.results.outputs.format_report && '### β¨ JS SDK - Code Formatting' || '' }} | |
| ${{ steps.results.outputs.format_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.format_report && '<summary>Show format check results</summary>' || '' }} | |
| ${{ steps.results.outputs.format_report && '' || '' }} | |
| ${{ steps.results.outputs.format_report && '```' || '' }} | |
| ${{ steps.results.outputs.format_report }} | |
| ${{ steps.results.outputs.format_report && '```' || '' }} | |
| ${{ steps.results.outputs.format_report && '</details>' || '' }} | |
| ${{ steps.results.outputs.type_check_report && '### π JS SDK - TypeScript Type Check' || '' }} | |
| ${{ steps.results.outputs.type_check_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.type_check_report && '<summary>Show type check output</summary>' || '' }} | |
| ${{ steps.results.outputs.type_check_report && '' || '' }} | |
| ${{ steps.results.outputs.type_check_report && '```' || '' }} | |
| ${{ steps.results.outputs.type_check_report }} | |
| ${{ steps.results.outputs.type_check_report && '```' || '' }} | |
| ${{ steps.results.outputs.type_check_report && '</details>' || '' }} | |
| ${{ steps.results.outputs.test_report && '### π§ͺ JS SDK - Test Results' || '' }} | |
| ${{ steps.results.outputs.test_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.test_report && '<summary>Show test output</summary>' || '' }} | |
| ${{ steps.results.outputs.test_report && '' || '' }} | |
| ${{ steps.results.outputs.test_report && '```' || '' }} | |
| ${{ steps.results.outputs.test_report }} | |
| ${{ steps.results.outputs.test_report && '```' || '' }} | |
| ${{ steps.results.outputs.test_report && '</details>' || '' }} | |
| ${{ steps.results.outputs.lint_report && '### π JS SDK - Lint Check' || '' }} | |
| ${{ steps.results.outputs.lint_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.lint_report && '<summary>Show lint results</summary>' || '' }} | |
| ${{ steps.results.outputs.lint_report && '' || '' }} | |
| ${{ steps.results.outputs.lint_report && '```' || '' }} | |
| ${{ steps.results.outputs.lint_report }} | |
| ${{ steps.results.outputs.lint_report && '```' || '' }} | |
| ${{ steps.results.outputs.lint_report && '</details>' || '' }} | |
| ${{ steps.results.outputs.browser_report && '### π JS SDK - Browser Compatibility' || '' }} | |
| ${{ steps.results.outputs.browser_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.browser_report && '<summary>Show browser test results</summary>' || '' }} | |
| ${{ steps.results.outputs.browser_report && '' || '' }} | |
| ${{ steps.results.outputs.browser_report }} | |
| ${{ steps.results.outputs.browser_report && '</details>' || '' }} | |
| ${{ steps.results.outputs.cli_lint_report && '### π CLI - Lint Check' || '' }} | |
| ${{ steps.results.outputs.cli_lint_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.cli_lint_report && '<summary>Show lint results</summary>' || '' }} | |
| ${{ steps.results.outputs.cli_lint_report && '' || '' }} | |
| ${{ steps.results.outputs.cli_lint_report && '```' || '' }} | |
| ${{ steps.results.outputs.cli_lint_report }} | |
| ${{ steps.results.outputs.cli_lint_report && '```' || '' }} | |
| ${{ steps.results.outputs.cli_lint_report && '</details>' || '' }} | |
| ${{ steps.results.outputs.cli_type_check_report && '### π CLI - TypeScript Type Check' || '' }} | |
| ${{ steps.results.outputs.cli_type_check_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.cli_type_check_report && '<summary>Show type check output</summary>' || '' }} | |
| ${{ steps.results.outputs.cli_type_check_report && '' || '' }} | |
| ${{ steps.results.outputs.cli_type_check_report && '```' || '' }} | |
| ${{ steps.results.outputs.cli_type_check_report }} | |
| ${{ steps.results.outputs.cli_type_check_report && '```' || '' }} | |
| ${{ steps.results.outputs.cli_type_check_report && '</details>' || '' }} | |
| ${{ steps.results.outputs.cli_test_report && '### π§ͺ CLI - Test Results' || '' }} | |
| ${{ steps.results.outputs.cli_test_report && '<details>' || '' }} | |
| ${{ steps.results.outputs.cli_test_report && '<summary>Show test output</summary>' || '' }} | |
| ${{ steps.results.outputs.cli_test_report && '' || '' }} | |
| ${{ steps.results.outputs.cli_test_report && '```' || '' }} | |
| ${{ steps.results.outputs.cli_test_report }} | |
| ${{ steps.results.outputs.cli_test_report && '```' || '' }} | |
| ${{ steps.results.outputs.cli_test_report && '</details>' || '' }} | |
| --- | |
| _Check run: [${{ github.event.workflow_run.html_url }}](${{ github.event.workflow_run.html_url }})_ |