Github action asserting license statement in PR description #1
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: Assert PR description license statement | |
on: | |
pull_request: | |
types: [opened, edited] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
check-pr-description: | |
if: github.repository_owner == 'aws' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install jq | |
run: | | |
sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none | |
sudo apt-get install -y jq | |
- name: Check PR description | |
run: | | |
# Fetches the PR description. | |
PR_DESCRIPTION=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }} | jq -r .body) | |
LICENSE_STATEMENT="By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license." | |
echo "PR description: ${PR_DESCRIPTION}" | |
echo "Must contain: ${LICENSE_STATEMENT}" | |
# Assert this is the case. | |
if echo "${PR_DESCRIPTION}" | grep -q "${LICENSE_STATEMENT}"; then | |
echo "PR description contains license statement." | |
else | |
echo "Error: PR description does not contain the required license statement." | |
exit 1 | |
fi |