name: Deploy to github.io

on:
  push:
    branches: [ dev, main ]   # 设置源码主分支
  workflow_dispatch: {}  # 支持手动触发

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: pages
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Setup pnpm
        uses: pnpm/action-setup@v3
        with:
          version: 9
      - name: Install deps
        run: pnpm -F tiny-pro-vue i
      - name: Build site
        run: pnpm -F tiny-pro-vue build
        env:
          VITE_BASE: /tiny-pro/
      - name: Setup Pages
        uses: actions/configure-pages@v2
      - name: Build with Jekyll
        uses: actions/jekyll-build-pages@v1
        with:
          source: ./template/tinyvue/dist
          destination: ./_site
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
  # Deployment job
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    steps:
    - name: Deploy to GitHub Pages
      id: deployment
      uses: actions/deploy-pages@v4