build(fpb-lint): linting errors as PR comments (#10618)
Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com> Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>pull/10759/head
parent
2fd8f21a78
commit
ae612cf6b5
2 changed files with 73 additions and 5 deletions
@ -0,0 +1,55 @@ |
|||||||
|
name: Comment on the pull request |
||||||
|
|
||||||
|
on: |
||||||
|
workflow_run: |
||||||
|
workflows: ["free-programming-books-lint"] |
||||||
|
types: |
||||||
|
- completed |
||||||
|
|
||||||
|
jobs: |
||||||
|
upload: |
||||||
|
permissions: |
||||||
|
pull-requests: write |
||||||
|
runs-on: ubuntu-latest |
||||||
|
if: > |
||||||
|
${{ github.event.workflow_run.event == 'pull_request' && |
||||||
|
github.event.workflow_run.conclusion == 'success' }} |
||||||
|
steps: |
||||||
|
- name: 'Download artifact' |
||||||
|
uses: actions/github-script@v6 |
||||||
|
with: |
||||||
|
script: | |
||||||
|
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ |
||||||
|
owner: context.repo.owner, |
||||||
|
repo: context.repo.repo, |
||||||
|
run_id: context.payload.workflow_run.id, |
||||||
|
}); |
||||||
|
let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { |
||||||
|
return artifact.name == "pr" |
||||||
|
})[0]; |
||||||
|
let download = await github.rest.actions.downloadArtifact({ |
||||||
|
owner: context.repo.owner, |
||||||
|
repo: context.repo.repo, |
||||||
|
artifact_id: matchArtifact.id, |
||||||
|
archive_format: 'zip', |
||||||
|
}); |
||||||
|
let fs = require('fs'); |
||||||
|
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/pr.zip`, Buffer.from(download.data)); |
||||||
|
|
||||||
|
- name: 'Unzip artifact' |
||||||
|
run: unzip pr.zip |
||||||
|
|
||||||
|
- name: 'Comment on PR' |
||||||
|
env: |
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||||
|
run: | |
||||||
|
if [ -s error.log ] |
||||||
|
then |
||||||
|
gh pr comment $(<PRurl) -b "Linter failed, fix the error(s): |
||||||
|
\`\`\` |
||||||
|
$(cat error.log) |
||||||
|
\`\`\`" |
||||||
|
gh pr edit $(<PRurl) --add-label "linter error" |
||||||
|
else |
||||||
|
gh pr edit $(<PRurl) --remove-label "linter error" |
||||||
|
fi |
Loading…
Reference in new issue