Skip to content

site: add the "Exploring chat forking" announcement post (#277) #63

site: add the "Exploring chat forking" announcement post (#277)

site: add the "Exploring chat forking" announcement post (#277) #63

Workflow file for this run

name: Deploy marketing site
# Builds site/ and ships it to Vercel as a prebuilt Build Output API v3
# upload. Vercel's Git integration is deliberately NOT connected — this
# workflow is the only thing that deploys the site, so the root
# package.json's Electron + claude-code native deps never get installed
# on Vercel. See scripts/deploy-site.sh for the full rationale.
on:
push:
branches: [main]
paths:
- 'site/**'
- 'package.json'
- 'package-lock.json'
- 'scripts/deploy-site.sh'
- '.github/workflows/deploy-site.yml'
workflow_dispatch:
permissions:
contents: read
# Never let two deploys race for the production alias.
concurrency:
group: deploy-site
cancel-in-progress: false
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
# electron-vite@5's peer range rejects vite@7/8 under strict resolver;
# --legacy-peer-deps mirrors the local dev install.
- name: Install dependencies
run: npm install --legacy-peer-deps
# Pinned so a CLI release can't change deploy behaviour under us.
- name: Install Vercel CLI
run: npm i -g vercel@50.37.0
- name: Build and deploy to production
run: ./scripts/deploy-site.sh --prod
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}