1.5 KiB
1.5 KiB
GitHub Actions workflows
Test All Applications (test-all.yml)
The test workflow runs on pushes and pull requests to main, and can also be
started manually. It enforces the checks that exist in the current repository:
- repository tooling: template-converter tests and bundled export verification;
- FastAPI: every pytest test using the Python version and locked dependencies
declared in
servers/fastapi; - Next.js: all Node.js unit tests, ESLint, a production build, and Cypress component tests.
No test step is allowed to fail silently.
Run the CI checks locally
Install Node.js 20+, npm, Python 3.11, and uv, then run:
./test-local.sh
The script installs locked dependencies and runs the same commands as the GitHub Actions workflow.
Run one test group
FastAPI
cd servers/fastapi
uv sync --locked --dev
mkdir -p /tmp/presenton-tests/app-data /tmp/presenton-tests/temp
APP_DATA_DIRECTORY=/tmp/presenton-tests/app-data \
TEMP_DIRECTORY=/tmp/presenton-tests/temp \
DATABASE_URL=sqlite+aiosqlite:////tmp/presenton-tests/test.db \
DISABLE_ANONYMOUS_TRACKING=true \
DISABLE_IMAGE_GENERATION=true \
uv run --locked python -m pytest --verbose --tb=short
Next.js
cd servers/nextjs
npm ci
npm test
npm run lint
NEXT_PUBLIC_FAST_API=http://localhost:8000 \
NEXT_PUBLIC_URL=http://localhost:3000 \
npm run build
npx cypress run --component --browser electron
Repository tooling
npm ci
npm test
npm run sync:presentation-export
npm run check:presentation-export