Skip to content

Commit

Permalink
Fix: replace pull_request_target with a download/upload artifact.
Browse files Browse the repository at this point in the history
Signed-off-by: dblock <[email protected]>
  • Loading branch information
dblock committed Apr 18, 2024
1 parent 29faff0 commit e06ce32
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 13 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/coverage-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Comment with API Coverage

on:
workflow_run:
workflows: ["Gather API Coverage"]
types:
- completed

jobs:
comment:
runs-on: ubuntu-latest
if: >
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success'
steps:
- name: Download Coverage Report
uses: actions/[email protected]
with:
script: |
var artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id }},
});
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "coverage"
})[0];
var download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/coverage.zip', Buffer.from(download.data));
- run: |
unzip coverage.zip
cat coverage.json
- name: 'Comment on PR'
uses: actions/github-script@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
var data = JSON.parse(fs.readFileSync('./coverage.json'));
console.log(data);
await github.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: data.pull_request,
body: `API specs implemented for ${data.current}/${data.total} (${data.percent}%) APIs.`
});
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: API Coverage
name: Gather API Coverage

on: [push, pull_request_target]
on: [push, pull_request]

env:
JAVA_VERSION: 11
Expand All @@ -14,8 +14,6 @@ jobs:
steps:
- name: Checkout Repo
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Build Spec
working-directory: ./tools
run: |-
Expand Down Expand Up @@ -50,14 +48,15 @@ jobs:
total=`jq -r '.paths | keys | length' build/local-openapi.json`
percent=$((current * 100 / total))
echo "API specs implemented for $current/$total ($percent%) APIs."
cat >>"$GITHUB_OUTPUT" <<EOL
current=$current
total=$total
percent=$percent
cat >>"coverage.json" <<EOL
{
"pull_request":${{ github.event.number }},
"current":$current,
"total":$total,
"percent":$percent
}
EOL
- uses: peter-evans/create-or-update-comment@v4
if: github.event_name == 'pull_request_target'
- uses: actions/upload-artifact@v2
with:
issue-number: ${{ github.event.number }}
body: |
API specs implemented for ${{ steps.coverage.outputs.current }}/${{ steps.coverage.outputs.total }} (${{ steps.coverage.outputs.percent }}%) APIs.
name: coverage
path: coverage.json

0 comments on commit e06ce32

Please sign in to comment.