mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
27 lines
706 B
JavaScript
Executable File
27 lines
706 B
JavaScript
Executable File
const { execSync } = require('child_process')
|
|
|
|
const checkIsRelease = async () => {
|
|
let commitId = process.argv[2] || ''
|
|
|
|
// parse only the last string which should be version if
|
|
// it's a publish commit
|
|
const commitMsg = execSync(
|
|
`git log -n 1 --pretty='format:%B'${commitId ? ` ${commitId}` : ''}`
|
|
)
|
|
.toString()
|
|
.trim()
|
|
|
|
const versionString = commitMsg.split(' ').pop().trim()
|
|
const publishMsgRegex = /^v\d{1,}\.\d{1,}\.\d{1,}(-\w{1,}\.\d{1,})?$/
|
|
|
|
if (publishMsgRegex.test(versionString)) {
|
|
console.log(versionString)
|
|
process.exit(0)
|
|
} else {
|
|
console.log('not publish commit', { commitId, commitMsg, versionString })
|
|
process.exit(1)
|
|
}
|
|
}
|
|
|
|
checkIsRelease()
|