Add Gitea CI checks and builds (Refs #100)
CI / checks (push) Successful in 5m19s

This commit is contained in:
2026-10-09 16:09:00 -04:00
parent 16469e2d43
commit 5cf284f413
2 changed files with 50 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
name: CI
on: [push, pull_request]
jobs:
checks:
runs-on: ubuntu-latest
container:
image: node:22-bookworm
steps:
- name: Check out repository
uses: https://github.com/actions/checkout@v4
with:
persist-credentials: false
- name: Install Python and native build tools
run: |
apt-get update
apt-get install -y --no-install-recommends python3 make g++
- name: Install dependencies
run: npm ci
# Generates the SvelteKit config required by tests in a fresh checkout.
- name: Check styles and types
run: npm run check
- name: Check formatting and lint
run: npm run lint
- name: Run application tests
# Bound resource use for database-heavy fixtures on shared runners.
env:
VITEST_MAX_WORKERS: '2'
run: npm test
- name: Run agent tests
run: npm run test:agent
- name: Build production bundles
run: npm run build
+9
View File
@@ -83,6 +83,15 @@ npm run test:agent
npm run build
```
The [Gitea Actions workflow](../../.gitea/workflows/ci.yml) runs these checks on
every push and pull request after `npm ci`. It uses a Node.js 22 Debian container
with Python 3 and native build tools for `better-sqlite3`. The runner must support
Docker jobs with the `ubuntu-latest` label. `npm run check` runs before the tests
to generate the SvelteKit configuration needed in a fresh checkout. Application
tests use two workers in CI to bound resource use for database-heavy fixtures.
The build step runs the same `npm run build` command used by the Dockerfile,
including agent packaging and the report and launch bundles.
Run `npm run format` to apply Prettier formatting before committing. It uses
four-space indentation and a 100-column target for supported source, config and
documentation files, including Svelte components. Python, shell and game scripts