Skip to content

Merge pull request #30 from adab-tech/security/persistent-rate-limits… #91

Merge pull request #30 from adab-tech/security/persistent-rate-limits…

Merge pull request #30 from adab-tech/security/persistent-rate-limits… #91

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
permissions:
contents: read
env:
DATABASE_URL: sqlite:///./ci_opportunities.db
SCRAPE_INTERVAL_HOURS: "24"
jobs:
test:
name: Backend tests & smoke API
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
cache-dependency-path: backend/requirements-dev.txt
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
- name: Lint (ruff)
run: python -m ruff check .
- name: Run full test suite
env:
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }}
run: python -m pytest tests -v
- name: Verify app imports
run: python -c "from app.main import app; assert app.title"
frontend-test:
name: Frontend tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci
- name: Run test suite
run: npm test