chore(release): 1.0.6-beta #3
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Gate | |
| # ⚠️ 本工作流**不创建 Release**,只做发布前的前端校验。 | |
| # | |
| # 真正的 Release 由**中间件仓库**(闭源)的 release 工作流驱动: | |
| # 它拿不到本仓库以外的 Go 源码,反过来说本仓库的 CI 也构建不出中间件 exe。 | |
| # 所以由那边统一构建「前端 + 后端」,再把两样产物一起传到本仓库的 Release。 | |
| # | |
| # 发布流程:在中间件仓库打 v* tag | |
| # → 它检出本仓库的前端源码并构建 dist | |
| # → 把 dist 嵌进 exe、跑冒烟测试 | |
| # → 在本仓库创建 Release,上传 exe + 开箱即用 zip + 前端 dist zip | |
| # | |
| # 这里只保证「打了 tag 的这份前端确实构建得出来」, | |
| # 免得等到那边构建时才发现前端是坏的。 | |
| on: | |
| push: | |
| tags: ['v*'] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| verify: | |
| name: 发布前前端校验 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: npm | |
| - name: 安装依赖 | |
| run: npm ci | |
| - name: 版本同步校验 | |
| run: node scripts/check-version-sync.mjs | |
| - name: 类型检查 | |
| run: npm run typecheck | |
| - name: 生产构建 | |
| run: npm run build | |
| - name: 确认 tag 与 package.json 版本一致 | |
| shell: bash | |
| run: | | |
| TAG_VERSION="${GITHUB_REF_NAME#v}" | |
| PKG_VERSION=$(node -p "require('./package.json').version") | |
| if [ "$TAG_VERSION" != "$PKG_VERSION" ]; then | |
| echo "tag ($TAG_VERSION) 与 package.json ($PKG_VERSION) 版本不一致" >&2 | |
| exit 1 | |
| fi | |
| echo "版本一致:$PKG_VERSION" | |
| - name: 提示后续步骤 | |
| run: | | |
| echo "前端校验通过。请在中间件仓库打同名 tag 以产出并发布完整 Release。" |