Files
documentation/.gitea/workflows/build.yml
T
jarvis-at-skic 4109ee9b77
Build and Deploy Documentation / build (push) Failing after 35s
ci: require persistent Pages mount
2026-08-11 19:53:26 +00:00

55 lines
1.4 KiB
YAML

name: Build and Deploy Documentation
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
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm build
- name: Publish to 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
*/*) ;;
*) echo "invalid repository slug: $ORG_REPO" >&2; exit 1 ;;
esac
case "$ORG_REPO" in
*..*|/*|*/|*//* ) echo "unsafe repository slug: $ORG_REPO" >&2; exit 1 ;;
esac
test -f build/index.html
pages_root="/gondor-v1-gitea-pages"
if ! mountpoint -q "$pages_root"; then
echo "$pages_root is not a persistent host mount inside the Gitea Actions job container" >&2
exit 1
fi
destination="$pages_root/$ORG_REPO"
rm -rf -- "$destination"
mkdir -p "$destination"
cp -a build/. "$destination/"