blob: 3fcd93ed8c54598c6bd5984b0efcf9305f1dbce0 [file] [log] [blame]
name: PR badges
on:
pull_request_target:
branches:
- 'feature/*'
- 'main'
- '24.lts.1\+'
- '23.lts.1\+'
- '22.lts.1\+'
- '21.lts.1\+'
- '20.lts.1\+'
- '19.lts.1\+'
- 'rc_11'
- 'COBALT_9'
concurrency:
group: '${{ github.workflow }}-${{ github.event_name }}-${{ inputs.platform }} @ ${{ github.event.pull_request.number || github.sha }}'
cancel-in-progress: true
permissions:
pull-requests: write
jobs:
comment:
runs-on: ubuntu-latest
env:
GITHUB_SERVER_URL: ${{github.server_url}}
GITHUB_REPO: ${{github.repository}}
GITHUB_HEAD_REF: ${{ github.head_ref }}
steps:
- uses: actions/github-script@v6
with:
script: |
// Get env vars.
const { GITHUB_SERVER_URL, GITHUB_REPO, GITHUB_HEAD_REF } = process.env
// Get the existing comments.
const {data: comments} = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.number,
})
// Find any comment already made by the bot.
const botComment = comments.find(comment => {
return comment.user.type === 'Bot' && comment.body.includes('Build Status')
})
const workflows = ["lint", "android", "evergreen", "linux", "raspi-2", "stub", "win32"]
var commentBody = `
## Build Status
| Workflow | Status |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
`
for (let i = 0; i < workflows.length; i++) {
commentBody += "| " + workflows[i] + " | [![" + workflows[i] + "](" + `${GITHUB_SERVER_URL}` + "/" + `${GITHUB_REPO}` + "/actions/workflows/" + workflows[i] + ".yaml/badge.svg?branch=" + `${GITHUB_HEAD_REF}` + ")](" + `${GITHUB_SERVER_URL}` + "/" + `${GITHUB_REPO}` + "/actions/workflows/" + workflows[i] + ".yaml?query=branch%3A" + `${GITHUB_HEAD_REF}` + ") |\n"
}
if (botComment) {
await github.rest.issues.deleteComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
})
}
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.number,
body: commentBody
})