Skip to content

[doc]Add NumKeyboard doc #12

[doc]Add NumKeyboard doc

[doc]Add NumKeyboard doc #12

Workflow file for this run

# 当分支 main 有 push 事件,并且此次 push 包含了 packages/stdf/package.json 文件时,执行以下任务
name: RELEASES
on:
push:
branches:
- main
paths:
- 'packages/stdf/package.json'
jobs:
releases:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# 1. 读取 packages/stdf/package.json 中的 version 字段,作为 Releases tag 和 Releases title
- name: Get version
id: version
run: |
echo version=$(cat packages/stdf/package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]') >> $GITHUB_OUTPUT
# 2. 读取 doc/guide/changelog.md 的第一行内容,去除 ## 和空格
- name: Get md_version
id: md_version
run: |
echo md_version=$(cat doc/guide/changelog.md | head -1 | sed 's/## //g' | tr -d '[[:space:]]') >> $GITHUB_OUTPUT
# 3. 读取 doc/guide/changelog_en.md 的第一行内容,去除 ## 和空格
- name: Get md_version_en
id: md_version_en
run: |
echo md_version_en=$(cat doc/guide/changelog_en.md | head -1 | sed 's/## //g' | tr -d '[[:space:]]') >> $GITHUB_OUTPUT
# 4. 比较 Get version 与 Get md_version 和 Get md_version_en 三者的输出内容,如果不相同则此次不需要发布 Release,退出
- name: Check version
run: |
if [[ ${{ steps.version.outputs.version }} != ${{ steps.md_version.outputs.md_version }} ]]; then
echo "This is not a tag push. Skipping."
exit 78
fi
if [[ ${{ steps.version.outputs.version }} != ${{ steps.md_version_en.outputs.md_version_en }} ]]; then
echo "This is not a tag push. Skipping."
exit 78
fi
# 5. 读取 doc/guide/changelog.md 中前两个二级标题之间的内容,包含换行和空格
- name: Get changelog
id: changelog
run: |
echo -e changelog=$(sed -n '1,/##/{/##/!p;}' doc/guide/changelog.md | sed '/^$/d') >> $GITHUB_OUTPUT
# 6. 读取 doc/guide/changelog_en.md 中第一个二级标题与第二个二级标题之间的内容,包含换行和空格
- name: Get changelog_en
id: changelog_en
run: |
echo -e changelog_en=$(sed -n '1,/##/{/##/!p;}' doc/guide/changelog_en.md | sed '/^$/d') >> $GITHUB_OUTPUT
# 7. 作为 latest release 发布本次 Release,body 为 changelog 和 changelog_en 的合并内容,中间使用 --- 分隔
- name: Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.STDF_GITHUB_TOKEN }}
with:
tag_name: v${{ steps.version.outputs.version }}
release_name: v${{ steps.version.outputs.version }}
body: |
${{ steps.changelog.outputs.changelog }}
---
${{ steps.changelog_en.outputs.changelog_en }}
draft: false
prerelease: false