fix: release-notes plays more nicely with clerk (#16887)

Explicitly look not just for Clerk's "notes persisted"
message but also its "no release notes" message.
This commit is contained in:
Charles Kerr 2019-02-12 08:21:20 -06:00 committed by John Kleinschmidt
parent 83894dc5db
commit cfbdc40814

View file

@ -56,6 +56,7 @@ const getNoteFromClerk = async (number, owner, repo) => {
if (!comments || !comments.data) return
const CLERK_LOGIN = 'release-clerk[bot]'
const CLERK_NO_NOTES = '**No Release Notes**'
const PERSIST_LEAD = '**Release Notes Persisted**\n\n'
const QUOTE_LEAD = '> '
@ -63,18 +64,19 @@ const getNoteFromClerk = async (number, owner, repo) => {
if (comment.user.login !== CLERK_LOGIN) {
continue
}
if (!comment.body.startsWith(PERSIST_LEAD)) {
continue
if (comment.body === CLERK_NO_NOTES) {
return NO_NOTES
}
if (comment.body.startsWith(PERSIST_LEAD)) {
return comment.body
.slice(PERSIST_LEAD.length).trim() // remove PERSIST_LEAD
.split('\r?\n') // break into lines
.map(line => line.trim())
.filter(line => line.startsWith(QUOTE_LEAD)) // notes are quoted
.map(line => line.slice(QUOTE_LEAD.length)) // unquote the lines
.join(' ') // join the note lines
.trim()
}
const note = comment.body
.slice(PERSIST_LEAD.length).trim() // remove PERSIST_LEAD
.split('\r?\n') // break into lines
.map(line => line.trim())
.filter(line => line.startsWith(QUOTE_LEAD)) // notes are quoted
.map(line => line.slice(QUOTE_LEAD.length)) // unquote the lines
.join(' ') // join the note lines
.trim()
return note
}
}