From 8b2f2b3612d60ced3d6650e754f9064115bf4f5b Mon Sep 17 00:00:00 2001 From: gimmyhehe <975402925@qq.com> Date: Tue, 15 Jul 2025 15:13:13 +0800 Subject: [PATCH] ci: add docs/utils/hooks auto build and publish (#3588) --- .../dispatch-renderless-theme-publish.yml | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dispatch-renderless-theme-publish.yml b/.github/workflows/dispatch-renderless-theme-publish.yml index 492449e44..79889d1dc 100644 --- a/.github/workflows/dispatch-renderless-theme-publish.yml +++ b/.github/workflows/dispatch-renderless-theme-publish.yml @@ -7,7 +7,7 @@ on: components: description: | 输入需要打包的模块名称,多个以英文逗号分隔, - 例如: `theme,renderless,runtime` + 例如: `theme,renderless,runtime,docs,utils,hooks` required: true type: string concurrency: @@ -25,8 +25,9 @@ jobs: script: | const branchName = `${{ github.ref_name }}` const moduleName = `${{ inputs.components }}` + const validModuleNames = ['theme', 'renderless', 'runtime', 'docs','utils','hooks'] - if (!moduleName.includes('theme') && !moduleName.includes('renderless') && !moduleName.includes('runtime')) { + if (!validModuleNames.some(name => moduleName.includes(name))) { throw new Error('请输入正确的包名称') } @@ -80,8 +81,44 @@ jobs: if: contains(inputs.components, 'runtime') == true run: pnpm build:runtime + - name: Run Build Utils + if: contains(inputs.components, 'utils') == true + run: pnpm build:utils + + - name: Run Build Hooks + if: contains(inputs.components, 'hooks') == true + run: pnpm build:hooks + - name: Publish run: | pnpm pub:all env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish Utils + if: contains(inputs.components, 'utils') == true + run: | + pnpm pub:utils + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish Runtime + if: contains(inputs.components, 'runtime') == true + run: | + pnpm pub:runtime + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish Hooks + if: contains(inputs.components, 'hooks') == true + run: | + pnpm pub:hooks + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Publish Docs + if: contains(inputs.components, 'docs') == true + run: | + pnpm pub:site + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}