# 将静态内容部署到 GitHub Pages 的简易工作流程
name: RELEASES SITE

on:
    # 仅在推送到默认分支且 docs 文件夹有变动时触发工作流
    push:
        branches:
            - main
        paths:
            - 'docs/**'
    # 这个选项可以使你手动在 Action tab 页面触发工作流
    workflow_dispatch:

# 设置 GITHUB_TOKEN 的权限，以允许部署到 GitHub Pages。
permissions:
    contents: read
    pages: write
    id-token: write

# 允许一个并发的部署
concurrency:
    group: 'pages'
    cancel-in-progress: true

jobs:
    # 单次部署的工作描述
    deploy:
        environment:
            name: github-pages
            url: ${{ steps.deployment.outputs.page_url }}
        runs-on: ubuntu-latest
        steps:
            - name: Checkout
              uses: actions/checkout@v4

            - name: Set up Bun
              uses: oven-sh/setup-bun@v2
              with:
                  bun-version: 'latest'

            - name: Build rollup-plugin-stdf-icon & stdf & rollup-plugin-md-ts
              run: |
                  cd packages/rollup-plugin-stdf-icon
                  bun i
                  bun run build
                  cd ../stdf
                  bun i
                  bun run package
                  cd ../rollup-plugin-md-ts
                  bun i
                  bun run build
                  cd ../../

            - name: Install dependencies and build
              run: |
                  cd docs/site
                  bun i
                  bun run build

            - name: Setup Pages
              uses: actions/configure-pages@v4

            - name: Upload artifact
              uses: actions/upload-pages-artifact@v3
              with:
                  path: './docs/site/build'

            - name: Deploy to GitHub Pages
              id: deployment
              uses: actions/deploy-pages@v4
