Skip to content

feat: local mode — self-hosted Manifest with SQLite #32

feat: local mode — self-hosted Manifest with SQLite

feat: local mode — self-hosted Manifest with SQLite #32

Workflow file for this run

name: CI
permissions:
contents: read
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
backend-postgres:
name: Backend (PostgreSQL)
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
POSTGRES_DB: mydatabase
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U myuser -d mydatabase"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
DATABASE_URL: postgresql://myuser:mypassword@localhost:5432/mydatabase
BETTER_AUTH_SECRET: ci-test-secret-at-least-32-characters-long!!
NODE_ENV: test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npx tsc --noEmit
working-directory: packages/backend
- run: npm run build --workspace=packages/backend
- name: Test migrations
run: npm run migration:run --workspace=packages/backend
- run: npm test --workspace=packages/backend
- run: npm run test:e2e --workspace=packages/backend
backend-sqlite:
name: Backend (SQLite)
runs-on: ubuntu-latest
env:
MANIFEST_MODE: local
BETTER_AUTH_SECRET: ci-test-secret-at-least-32-characters-long!!
NODE_ENV: test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run build --workspace=packages/backend
- name: Unit tests (SQLite dialect)
run: npm test --workspace=packages/backend
- name: E2E tests (SQLite in-memory)
run: npm run test:e2e --workspace=packages/backend
frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npx tsc --noEmit
working-directory: packages/frontend
- run: npm test --workspace=packages/frontend
- run: npx vite build
working-directory: packages/frontend
plugin:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm test --workspace=packages/openclaw-plugin
changeset-check:
name: Changeset status
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npx changeset status --since=origin/main