From c7f7dc6ee1f4f56ccb86adabb2ca3f14c212e985 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 11 Dec 2025 19:01:33 +0700 Subject: [PATCH] separate metric comment into its own workflow in order to work with forked PR --- .github/workflows/build.yml | 16 +++++++---- .github/workflows/metrics_comment.yml | 38 +++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/metrics_comment.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9d94a3b9b..ea7f5d74b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -130,12 +130,18 @@ jobs: cp metrics.md metrics_compare.md fi - - name: Post Code Metrics as PR Comment - if: github.event_name != 'push' - uses: marocchino/sticky-pull-request-comment@v2 + - name: Save PR number + if: github.event_name == 'pull_request' + run: echo ${{ github.event.number }} > pr_number.txt + + - name: Upload Metrics Comment Artifact + if: github.event_name == 'pull_request' + uses: actions/upload-artifact@v5 with: - header: code-metrics - path: metrics_compare.md + name: metrics-comment + path: | + metrics_compare.md + pr_number.txt # --------------------------------------- # Build Make/CMake on Windows/MacOS diff --git a/.github/workflows/metrics_comment.yml b/.github/workflows/metrics_comment.yml new file mode 100644 index 000000000..2f1b0d631 --- /dev/null +++ b/.github/workflows/metrics_comment.yml @@ -0,0 +1,38 @@ +name: Metrics Comment + +on: + workflow_run: + workflows: ["Build"] + types: + - completed + +jobs: + post-comment: + runs-on: ubuntu-latest + if: > + github.event.workflow_run.event == 'pull_request' && + github.event.workflow_run.conclusion == 'success' + permissions: + pull-requests: write + steps: + - name: Download Artifacts + uses: actions/download-artifact@v4 + with: + run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + name: metrics-comment + + - name: Read PR Number + id: pr_number + run: | + if [ -f pr_number.txt ]; then + echo "number=$(cat pr_number.txt)" >> $GITHUB_OUTPUT + fi + + - name: Post Code Metrics as PR Comment + if: steps.pr_number.outputs.number != '' + uses: marocchino/sticky-pull-request-comment@v2 + with: + header: code-metrics + path: metrics_compare.md + number: ${{ steps.pr_number.outputs.number }}