- Add client-side router with History API pushState (router.ts, pages.ts) - Extend overlay with projects grid/category/detail views and resume section - Add Gitea CI/CD workflow and webhook deployment server - Improve Docker Compose with nginx reverse proxy config - Add deployment script and .env.example
54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
# Gitea Actions workflow — build, test, deploy
|
|
# Shows deployment status on the repo page, Actions tab, and commits.
|
|
name: Build & Deploy
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
# ---- Job 1: Typecheck & Build ----
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Typecheck
|
|
run: npm run typecheck
|
|
|
|
# Vite build is done inside Docker, so this is just a fast sanity check.
|
|
# Full build + test happens in the Docker multi-stage build below.
|
|
|
|
# ---- Job 2: Docker build + deploy ----
|
|
deploy:
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Build Docker image (includes npm test gate)
|
|
run: docker compose build
|
|
|
|
- name: Deploy via docker compose
|
|
run: |
|
|
docker compose up -d --remove-orphans
|
|
sleep 3
|
|
docker compose ps
|
|
|
|
- name: Smoke test
|
|
run: |
|
|
curl -sf --retry 5 --retry-delay 2 http://localhost:80/ && echo "OK — site is live"
|