presenton/.github/workflows
2026-02-21 19:25:05 +05:45
..
README.md updated 2026-02-20 12:02:23 +05:45
test-all.yml chore: restrict branches for workflow triggers to main for simplified CI process 2026-02-21 19:25:05 +05:45

GitHub Actions Workflows

Test All Applications (test-all.yml)

This workflow runs comprehensive tests for all parts of the application:

  • Main FastAPI - Python tests for the main backend
  • Electron FastAPI - Python tests for the Electron-compatible backend
  • Main Next.js - Lint, build, and Cypress component tests
  • Electron Next.js - Lint, build, and Cypress component tests
  • Docker Build - Verifies Docker image builds successfully

Testing Locally

Before pushing, you can test everything locally using the provided script:

./test-local.sh

This script runs the same tests that GitHub Actions will run, so you can catch issues early.

Manual Testing

If you prefer to test individual components:

FastAPI Tests

# Main FastAPI
cd servers/fastapi
export APP_DATA_DIRECTORY=/tmp/app_data
export TEMP_DIRECTORY=/tmp/presenton
export DATABASE_URL=sqlite+aiosqlite:///./test.db
export DISABLE_ANONYMOUS_TRACKING=true
export DISABLE_IMAGE_GENERATION=true
export PYTHONPATH=$(pwd)
pytest tests/ -v

# Electron FastAPI
cd electron/servers/fastapi
# Same environment variables as above
pytest tests/ -v

Next.js Tests

# Main Next.js
cd servers/nextjs
npm run lint
npm run build

# Electron Next.js
cd electron/servers/nextjs
npm run lint
npm run build

Docker Build

docker build -t presenton:test -f Dockerfile .
docker images | grep presenton:test