0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-30 19:41:46 +01:00
posthog/.github/workflows/lint-new-pr.yml

36 lines
1.6 KiB
YAML

name: Lint new PR
on:
pull_request:
types: [opened, ready_for_review]
jobs:
check-description:
name: Check that PR has description
runs-on: ubuntu-20.04
if: github.event.pull_request.draft == false
steps:
- name: Check if PR is shame-worthy
id: is-shame-worthy
run: |
FILTERED_BODY=$( \
sed -r -e \
'/^(\.\.\.)|(\*)|(#+ )|(<!--)|(👉)/d' \
<<< $RAW_BODY \
)
echo "::debug::Filtered PR body to $FILTERED_BODY"
if [[ -z "${FILTERED_BODY//[[:space:]]/}" ]]; then
echo "is-shame-worthy=true" >> $GITHUB_OUTPUT
else
echo "is-shame-worthy=false" >> $GITHUB_OUTPUT
fi
env:
RAW_BODY: ${{ github.event.pull_request.body }}
- name: Shame if PR has no description
if: steps.is-shame-worthy.outputs.is-shame-worthy == 'true'
run: |
SHAME_BODY="Hey @${{ github.actor }}! 👋\nThis pull request seems to contain no description. Please add useful context, rationale, and/or any other information that will help make sense of this change now and in the distant Mars-based future."
curl -s -u posthog-bot:${{ secrets.POSTHOG_BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} -X POST -d "{ \"body\": \"$SHAME_BODY\" }" "https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments"