Skip to content

ci: add swap memory to prevent OOM in docs archive build (#189) #3

ci: add swap memory to prevent OOM in docs archive build (#189)

ci: add swap memory to prevent OOM in docs archive build (#189) #3

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 }}