Skip to content

docs: update README and documentation for auth, on-call, and escalation #13

docs: update README and documentation for auth, on-call, and escalation

docs: update README and documentation for auth, on-call, and escalation #13

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: Tests
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: solace
POSTGRES_PASSWORD: solace
POSTGRES_DB: solace
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
redis:
image: redis:7-alpine
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
DATABASE_URL: postgresql+asyncpg://solace:solace@localhost:5432/solace
REDIS_URL: redis://localhost:6379/0
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
cache-dependency-path: pyproject.toml
- name: Install dependencies
run: |
pip install -e ".[dev]"
pip install psycopg2-binary
- name: Lint (ruff)
run: ruff check backend/ tests/
- name: Run migrations
run: alembic upgrade head
- name: Run tests
run: pytest tests/ -v --tb=short
frontend:
name: Frontend
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm install
- name: Type check
run: npx tsc --noEmit
- name: Build
run: npm run build
docker:
name: Docker Build
runs-on: ubuntu-latest
needs: [test, frontend]
steps:
- uses: actions/checkout@v4
- name: Build API image
run: docker build -t solace-api .
- name: Build frontend image
run: docker build -t solace-frontend ./frontend