The deployment unit is the contents of site/build/. CI should install the Node
package, run the production build, and hand that directory to a static host.
GitHub Actions baseline
name: site
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npx tidypress build
- uses: actions/upload-pages-artifact@v3
with:
path: site/buildAdd the deployment job or provider action required by your host. The important
boundary is that downstream deployment consumes site/build, not source files
or a second unverified build.
Generate a provider workflow
tidypress deploy cloudflare --with-ci
tidypress deploy vercel --with-ci--with-ci writes the matching workflow template. Review the generated file and
add the provider secrets named in it before pushing.
Cache safely
Cache the package manager store and, when useful, TidyPress’s generated cache.
Never treat build/ as a source cache: it is replaceable output and should be
rebuilt from the commit under test.