杜府 3 лет назад
Родитель
Сommit
5938dcf6b0
1 измененных файлов с 15 добавлено и 0 удалено
  1. 15 0
      .github/workflows/auto-releases.yml

+ 15 - 0
.github/workflows/auto-releases.yml

@@ -1,5 +1,8 @@
 # 当分支 main 有 push 事件,并且此次 push 包含了 components 目录下的文件时,执行以下任务
 # 读取 components/package.json 中的 version 字段,作为 Releases tag 和 Releases title
+# 读取仓库内的 /doc/guide/changelog.md 的第一行内容,去除 ## 和空格,与 components/package.json 中的 version 字段比较
+# 如果不相同则此次不需要发布 Release,退出
+# 如果相同则继续往下执行
 # 读取仓库内的 /doc/guide/changelog.md 和 /doc/guide/changelog_en.md 中第一个二级标题与第二个二级标题之间的内容
 # 将两个内容合并为一个字符串,中间使用 --- 分隔
 # 组成内容示例为:
@@ -43,11 +46,23 @@ jobs:
               run: |
                   npm install -g pnpm
 
+            # 读取仓库内的 /doc/guide/changelog.md 的第一行内容,去除 ## 和空格,与 Get version 得到的 version 字段比较
+            # 如果不相同则此次不需要发布 Release,退出
+            # 如果相同则继续往下执行
+            - name: Check version
+              run: |
+                  echo md_version=$(cat doc/guide/changelog.md | head -1 | sed 's/## //g' | tr -d '[[:space:]]') >> $GITHUB_OUTPUT
+                  if [[ ${{ steps.version.outputs.version }} != ${{ steps.md_version.outputs.md_version }} ]]; then
+                      echo "This is not a tag push. Skipping."
+                      exit 78
+                  fi
+
             # cd 到 .github/workflows 目录下,执行 pnpm install,再执行 node releases.js,生成 releases.md 文件
             - name: Install dependencies
               run: |
                   cd .github/workflows
                   pnpm install
+                  node releases.js
 
             # 读取 releases.md 文件内容,作为 Releases describe
             - name: Get body