summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml16
-rw-r--r--.github/workflows/metrics_comment.yml38
2 files changed, 49 insertions, 5 deletions
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 }}