Files
portal/.gitea/workflows/pages.yml
jarvis-at-skic ad2cea37a4
Build and publish Corp v1 Board portal / build (pull_request) Successful in 38s
docs: add high-level Corp v1 architecture
2026-08-24 11:24:29 +00:00

48 lines
1.4 KiB
YAML

name: Build and publish Corp v1 Board portal
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9.15.9
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Validate portal contracts
run: pnpm verify:portal
- name: Typecheck
run: pnpm typecheck
- name: Build site
run: pnpm build
- name: Validate built routes and search index
run: pnpm verify:portal
- name: Publish to LEGO Cloud Pages
if: gitea.event_name == 'push' && gitea.ref == 'refs/heads/main'
shell: bash
run: |
set -euo pipefail
ORG_REPO='${{ gitea.repository }}'
case "$ORG_REPO" in */*) ;; *) exit 1 ;; esac
case "$ORG_REPO" in *..*|/*|*/|*//* ) exit 1 ;; esac
test -f build/index.html
pages_root='/gondor-v1-gitea-pages'
mountpoint -q "$pages_root" || { echo "$pages_root is not a persistent mount" >&2; exit 1; }
destination="$pages_root/$ORG_REPO"
rm -rf -- "$destination"
mkdir -p "$destination"
cp -a build/. "$destination/"