]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
workflow only verify commit message on main branch chore/verify-commit 11544/head
author三咲智子 Kevin Deng <sxzz@sxzz.moe>
Wed, 7 Aug 2024 09:26:23 +0000 (17:26 +0800)
committer三咲智子 Kevin Deng <sxzz@sxzz.moe>
Wed, 7 Aug 2024 09:26:23 +0000 (17:26 +0800)
scripts/verify-commit.js

index d37370df0233ad5bff5388dcb198908161861ac4..a08e6fb27a90bd43af8ddb77095fb53e6ea6e9af 100644 (file)
@@ -2,27 +2,38 @@
 import pico from 'picocolors'
 import { readFileSync } from 'node:fs'
 import path from 'node:path'
+import { exec } from './utils.js'
 
-const msgPath = path.resolve('.git/COMMIT_EDITMSG')
-const msg = readFileSync(msgPath, 'utf-8').trim()
+main()
 
-const commitRE =
-  /^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(\(.+\))?: .{1,50}/
+async function main() {
+  const { stdout: branch } = await exec('git', ['branch', '--show-current'])
+  // only verify commit message on main and minor branches
+  if (branch !== 'main' && branch !== 'minor') {
+    return
+  }
 
-if (!commitRE.test(msg)) {
-  console.log()
-  console.error(
-    `  ${pico.white(pico.bgRed(' ERROR '))} ${pico.red(
-      `invalid commit message format.`,
-    )}\n\n` +
-      pico.red(
-        `  Proper commit message format is required for automated changelog generation. Examples:\n\n`,
-      ) +
-      `    ${pico.green(`feat(compiler): add 'comments' option`)}\n` +
-      `    ${pico.green(
-        `fix(v-model): handle events on blur (close #28)`,
+  const msgPath = path.resolve('.git/COMMIT_EDITMSG')
+  const msg = readFileSync(msgPath, 'utf-8').trim()
+
+  const commitRE =
+    /^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(\(.+\))?: .{1,50}/
+
+  if (!commitRE.test(msg)) {
+    console.log()
+    console.error(
+      `  ${pico.white(pico.bgRed(' ERROR '))} ${pico.red(
+        `invalid commit message format.`,
       )}\n\n` +
-      pico.red(`  See .github/commit-convention.md for more details.\n`),
-  )
-  process.exit(1)
+        pico.red(
+          `  Proper commit message format is required for automated changelog generation. Examples:\n\n`,
+        ) +
+        `    ${pico.green(`feat(compiler): add 'comments' option`)}\n` +
+        `    ${pico.green(
+          `fix(v-model): handle events on blur (close #28)`,
+        )}\n\n` +
+        pico.red(`  See .github/commit-convention.md for more details.\n`),
+    )
+    process.exit(1)
+  }
 }