diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml new file mode 100644 index 0000000..88ecea3 --- /dev/null +++ b/.forgejo/workflows/deploy.yml @@ -0,0 +1,25 @@ +name: Deploy + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - uses: pnpm/setup@v1 + with: + version: 11 + runtime: node@24 + cache: true + - name: Build + run: pnpm build + - name: Deploy to Netlify + run: npx -y netlify-cli deploy --prod --dir=build + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} diff --git a/.github/workflows/pr.yml b/.forgejo/workflows/pr.yml similarity index 100% rename from .github/workflows/pr.yml rename to .forgejo/workflows/pr.yml diff --git a/AGENTS.md b/AGENTS.md index 6373290..c024b58 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,6 +17,7 @@ Personal website and blog for Benjamin Palko, deployed on Netlify. - **pnpm is the canonical local package manager**. - The GitHub Actions PR gate (`.github/workflows/pr.yml`) runs `pnpm`. Keep both working; document pnpm commands. +- Deploys to Netlify run via Forgejo Actions (`.forgejo/workflows/deploy.yml`) on push to `main`. It needs `NETLIFY_AUTH_TOKEN` and `NETLIFY_SITE_ID` as Forgejo repo secrets. ## Scripts (pnpm) diff --git a/README.md b/README.md index 2530cb8..e87bce6 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,9 @@ See `AGENTS.md` for the full authoring workflow. ## Deployment -Netlify deploys the `main` branch automatically. The GitHub Actions PR gate (`.github/workflows/pr.yml`) runs lint, typecheck, tests, and build on every pull request using `pnpm`. Before shipping, verify locally with: +The site deploys to Netlify on every push to `main` via a Forgejo Actions workflow (`.forgejo/workflows/deploy.yml`): it installs with pnpm, runs `pnpm build`, and deploys the `build/` directory with `netlify-cli`. Requires `NETLIFY_AUTH_TOKEN` and `NETLIFY_SITE_ID` configured as repository secrets in Forgejo. Netlify's GitHub-app continuous deployment is disabled. + +The GitHub Actions PR gate (`.github/workflows/pr.yml`) runs on the GitHub mirror on every pull request using `pnpm`. Before shipping, verify locally with: ```bash pnpm lint && pnpm check && pnpm test && pnpm build diff --git a/netlify.toml b/netlify.toml index 60a716f..0183026 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,3 +1,2 @@ [build] -command = "pnpm run build" publish = "build"