- Create Next.js app with TypeScript, Tailwind, and Postcss - Extract API logic, types, and utilities to lib/ - Build React components for Race Results, Driver Standings, Points Key, and D3 Chart - Use environment variables for API credentials (NEXT_PUBLIC_*) - Static export (output: 'export') for Cloudflare Pages deployment - D3 chart rendered client-side with dynamic import - Update deploy workflow to build and deploy ./out directory - Remove original public/index.html
28 lines
672 B
YAML
28 lines
672 B
YAML
name: Deploy to Cloudflare Pages
|
|
on: [push]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node
|
|
uses: https://github.com/actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Build
|
|
run: npm run build
|
|
|
|
- name: Publish to Cloudflare
|
|
uses: cloudflare/wrangler-action@v3
|
|
with:
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
command: pages deploy ./out --project-name=grid-gladiators-leaderboard
|