From 6570749f7f7fb18673f431cebcf36c3f2106b06c Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Wed, 14 Jul 2021 16:54:09 -0700 Subject: [PATCH] build: add new GH actions to require release note updates In this commit, we add a simple bash script to parse out the current PR number from an environment variable in the GH actions context, and use that to check to see if the PR has been referenced in the release notes or not. This isn't 100% fool proof, but it should catch most of the common cases. --- .github/workflows/main.yml | 13 +++++++++++++ scripts/check-release-notes.sh | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100755 scripts/check-release-notes.sh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4c22581d..3b25078d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -258,3 +258,16 @@ jobs: - name: ensure dependences at correct version run: if ! grep -q "${{ matrix.pinned_dep }}" go.mod; then echo dependency ${{ matrix.pinned_dep }} should not be altered ; exit 1 ; fi + + ######################## + # check PR updates release notes + ######################## + milestone-check: + name: check release notes updated + runs-on: ubuntu-latest + steps: + - name: git checkout + uses: actions/checkout@v2 + + - name: release notes check + run: scripts/check-release-notes.sh diff --git a/scripts/check-release-notes.sh b/scripts/check-release-notes.sh new file mode 100755 index 00000000..75d471cf --- /dev/null +++ b/scripts/check-release-notes.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +# Extract the PR number which is stored in the $GITHUB_REF env variable. The +# format of the string stored in the variable is: refs/pull/:PRNUMBER/merge. +PR_NUMBER=$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }') + +# Ensure that the PR number at least shows up in the release notes folder under +# one of the contained milestones. +if ! grep -r -q "lightningnetwork/lnd/pull/$PR_NUMBER" docs/release-notes; then + echo "PR $PR_NUMBER didn't update release notes" + exit 1 +fi