ci: add swap memory to prevent OOM in docs archive build (#189) #3
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: Docs Archive Vercel Deploy | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - "docs-archive/**" | |
| - ".github/workflows/docs-archive-deploy.yml" | |
| workflow_dispatch: | |
| jobs: | |
| build-and-deploy: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 120 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| cache: npm | |
| cache-dependency-path: docs-archive/package-lock.json | |
| - name: Install dependencies | |
| working-directory: docs-archive | |
| run: npm ci | |
| - name: Allocate Swap Space | |
| run: | | |
| sudo swapoff -a || true | |
| sudo rm -f /swapfile | |
| sudo fallocate -l 10G /swapfile || sudo dd if=/dev/zero of=/swapfile bs=1M count=10240 | |
| sudo chmod 600 /swapfile | |
| sudo mkswap /swapfile | |
| sudo swapon /swapfile | |
| sudo swapon --show | |
| free -h | |
| - name: Build Docusaurus site | |
| working-directory: docs-archive | |
| run: | | |
| export NODE_OPTIONS="--max-old-space-size=10240" | |
| export DOCUSAURUS_SSR_CONCURRENCY=1 | |
| npm run build | |
| - name: Deploy to Vercel (prebuilt) | |
| working-directory: docs-archive | |
| run: | | |
| npx vercel deploy --prebuilt --prod --yes \ | |
| --token=${{ secrets.VERCEL_TOKEN }} \ | |
| --org=${{ secrets.VERCEL_ORG_ID }} \ | |
| --project=${{ secrets.VERCEL_PROJECT_ID }} |