diff --git a/.github/workflows/auto-build-main-module-docs.yml b/.github/workflows/auto-build-main-module-docs.yml new file mode 100644 index 0000000000..38a2465e29 --- /dev/null +++ b/.github/workflows/auto-build-main-module-docs.yml @@ -0,0 +1,72 @@ +name: Auto Build Main Module Docs + +on: + pull_request: + branches: [dev] + push: + branches: [dev] + +jobs: + verify-main-build: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + + steps: + - uses: webfactory/ssh-agent@v0.8.0 + with: + ssh-private-key: ${{ secrets.SUBMODULE_SSH_KEY }} + - name: Checkout submodule repo + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.PAT_TOKEN }} + + - name: Checkout main repository + run: | + # 克隆主仓库 + git clone https://github.com/opentiny/docs.git docs + cd docs + + # 更新子模块到PR分支的版本 + git submodule sync --recursive + git submodule update --init --recursive + + + # 获取PR分支的最新提交 + cd ./tiny-vue + BRANCH_NAME="${{ github.head_ref }}" + git fetch origin $BRANCH_NAME + git checkout $BRANCH_NAME + + # 回到主仓库根目录 + cd ../ + + # 更新主仓库中的子模块引用 + git add tiny-vue + git commit -m "Update submodule to PR version" || echo "No changes" + + - name: Setup pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 + + - name: Run main repo build + id: build + working-directory: ./docs + run: | + pnpm i + # 如果使用VitePress + pnpm build + + - name: Update PR status + if: always() + run: | + # 检查构建是否成功 + if [ ${{ steps.build.outcome }} == 'success' ]; then + echo "✅ 主仓库构建成功" + else + echo "❌ 主仓库构建失败" + exit 1 + fi