diff options
author | Rod Vagg <rod@vagg.org> | 2018-11-23 04:55:28 +0300 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-12-05 21:41:53 +0300 |
commit | 9e5a79a19255baf9277afd7fc4f6af1513d42fa8 (patch) | |
tree | 620b3d0f47e78dd52510215ce362b5efd641c63a /tools | |
parent | e3649c8e098c1b58a5def17f2b03d2d7ce86bea8 (diff) |
tools: don't use GH API for commit message checks
Fixes: https://github.com/nodejs/node/issues/24567
PR-URL: https://github.com/nodejs/node/pull/24574
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/lint-pr-commit-message.sh | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/tools/lint-pr-commit-message.sh b/tools/lint-pr-commit-message.sh index 1998026a16a..01afd9bab56 100644 --- a/tools/lint-pr-commit-message.sh +++ b/tools/lint-pr-commit-message.sh @@ -25,21 +25,15 @@ if [ -z "${PR_ID}" ]; then echo " e.g. $0 <PR_NUMBER>" exit 1 fi -# Retrieve the first commit of the pull request via GitHub API -# TODO: If we teach core-validate-commit to ignore "fixup!" and "squash!" -# commits and lint messages for all commits in the pull request -# we could simplify the following to: -# npx -q core-validate-commit --no-validate-metadata ${GH_API_URL}/repos/nodejs/node/pulls/${PR_ID}/commits -if PR_COMMITS="$( curl -s ${GH_API_URL}/repos/nodejs/node/pulls/${PR_ID}/commits )"; then - if FIRST_COMMIT="$( node -p 'JSON.parse(process.argv[1])[0].url' "${PR_COMMITS}" 2> /dev/null )"; then - echo "Linting the first commit message for pull request ${PR_ID}" - echo "according to the guidelines at https://goo.gl/p2fr5Q." - # Print the commit message to make it more obvious what is being checked. - echo "Commit message for ${FIRST_COMMIT##*/} is:" - node -p 'JSON.parse(process.argv[1])[0].commit.message' "${PR_COMMITS}" 2> /dev/null - npx -q core-validate-commit --no-validate-metadata "${FIRST_COMMIT}" - else - echo "Unable to determine the first commit for pull request ${PR_ID}." - exit 1 - fi + +PATCH=$( curl -sL https://github.com/nodejs/node/pull/${PR_ID}.patch | grep '^From ' ) +if FIRST_COMMIT="$( echo "$PATCH" | awk '/^From [0-9a-f]{40} / { if (count++ == 0) print $2 }' )"; then + MESSAGE=$( git show --quiet --format='format:%B' $FIRST_COMMIT ) + echo " +*** Linting the first commit message for pull request ${PR_ID} +*** according to the guidelines at https://goo.gl/p2fr5Q. +*** Commit message for $(echo $FIRST_COMMIT | cut -c 1-10) is: +${MESSAGE} +" + npx -q core-validate-commit --no-validate-metadata "${FIRST_COMMIT}" fi |