name: Deploy on: push: branches: [main] workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 22 - name: Install pnpm run: npm install -g pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build run: pnpm build - uses: actions/upload-artifact@v3 with: name: doc-build path: doc_build/ deploy-vercel: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/download-artifact@v3 with: name: doc-build path: doc_build/ - name: Deploy to Vercel run: npx vercel deploy --prod --yes --token ${{ secrets.VERCEL_TOKEN }} env: VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} deploy-onixbyte: needs: build runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v3 with: name: doc-build path: doc_build/ - name: Deploy to OnixByte.cn env: DEPLOY_KEY: ${{ secrets.DEPLOY_SSH_KEY }} run: | apt-get update -qq && apt-get install -y -qq rsync mkdir -p ~/.ssh printf '%s' "$DEPLOY_KEY" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan onixbyte.cn >> ~/.ssh/known_hosts rsync -avz --delete doc_build/ root@onixbyte.cn:${{ vars.DEPLOY_PATH }}