feat: update version #16
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: Deploy Documentation | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: 8 | |
| - name: Get pnpm store directory | |
| id: pnpm-cache | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
| - name: Setup pnpm cache | |
| uses: actions/cache@v3 | |
| with: | |
| path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store- | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Build packages | |
| run: pnpm build | |
| - name: Build site | |
| run: pnpm build:site | |
| - name: Setup GitHub Pages for SPA routing | |
| run: | | |
| # 创建 .nojekyll 文件,禁用 Jekyll 处理 | |
| touch packages/cosmic-web/dist/.nojekyll | |
| # 复制 index.html 为 404.html,用于处理 SPA 路由 | |
| # 当访问不存在的路径时,GitHub Pages 会返回 404.html | |
| # 然后由前端路由处理实际路径 | |
| if [ -f packages/cosmic-web/dist/index.html ]; then | |
| cp packages/cosmic-web/dist/index.html packages/cosmic-web/dist/404.html | |
| echo "✅ Created 404.html for SPA routing support" | |
| echo "📄 Files created:" | |
| ls -lh packages/cosmic-web/dist/*.html | |
| else | |
| echo "❌ Error: index.html not found!" | |
| exit 1 | |
| fi | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: './packages/cosmic-web/dist' | |
| deploy: | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Deploy Documentation | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |