Pipeline Implementation #39
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update PR Description with Build Artifacts | |
on: | |
pull_request: | |
branches: [ "main" ] | |
types: [opened, edited, synchronize] | |
jobs: | |
update-description: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Get PR number | |
id: get-pr-number | |
run: echo "PR_NUMBER=${{ github.event.pull_request.number }}" >> $GITHUB_ENV | |
- name: Update PR description | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const prNumber = process.env.PR_NUMBER; | |
const prFooter = `# Artifacts for PR #${prNumber} (DO NOT CHANGE)`; | |
const artifactLinks = `- [Coverage Artifact](https://uwcubesat.github.io/found/${prNumber}/merge/coverage)\n` | |
+ `- [Doxygen Artifact](https://uwcubesat.github.io/found/${prNumber}/merge/doxygen)\n`; | |
const { data: pr } = await github.rest.pulls.get({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
pull_number: prNumber, | |
}); | |
// Check if both artifact links are already present in the PR body | |
if (pr.body.includes("Artifacts for PR")) { | |
console.log('PR description already has documentation artifacts'); | |
} else { | |
const newPrBody = `# Description\n${pr.body}\n\n${prFooter}\n${artifactLinks.trim()}`; | |
await github.rest.pulls.update({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
pull_number: prNumber, | |
body: newPrBody, | |
}); | |
console.log('PR description updated with documentation artifacts'); | |
} |