Skip to content

Commit d5ba2c6

Browse files
committed
Add CI workflow configuration
1 parent 7d50cf2 commit d5ba2c6

1 file changed

Lines changed: 88 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
backend:
11+
name: 🐍 Backend Checks
12+
runs-on: ubuntu-latest
13+
14+
services:
15+
postgres:
16+
image: postgres:15
17+
env:
18+
POSTGRES_DB: remote_radar
19+
POSTGRES_USER: postgres
20+
POSTGRES_PASSWORD: password
21+
ports: ["5432:5432"]
22+
options: >-
23+
--health-cmd pg_isready
24+
--health-interval 10s
25+
--health-timeout 5s
26+
--health-retries 5
27+
28+
env:
29+
DATABASE_URL: postgresql+psycopg2://postgres:password@localhost:5432/remote_radar
30+
AUTH_SECRET_KEY: supersecret
31+
AUTH_ALGORITHM: HS256
32+
GROQ_API_KEY: dummykey
33+
LLM_MODELS: llama3
34+
35+
steps:
36+
- uses: actions/checkout@v4
37+
38+
- name: Set up Python
39+
uses: actions/setup-python@v5
40+
with:
41+
python-version: "3.9"
42+
43+
- name: Install Poetry
44+
run: pip install poetry
45+
46+
- name: Install dependencies
47+
run: |
48+
cd backend
49+
poetry install
50+
51+
- name: Run format, lint, type checks
52+
run: |
53+
cd backend
54+
poetry run black --check src tests
55+
poetry run ruff src tests
56+
poetry run mypy src
57+
58+
- name: Run tests
59+
run: |
60+
cd backend
61+
poetry run pytest
62+
63+
frontend:
64+
name: 💻 Frontend Checks
65+
runs-on: ubuntu-latest
66+
67+
steps:
68+
- uses: actions/checkout@v4
69+
70+
- name: Set up Node.js
71+
uses: actions/setup-node@v4
72+
with:
73+
node-version: "20"
74+
75+
- name: Install dependencies
76+
run: |
77+
cd frontend
78+
npm install
79+
80+
- name: Run lint
81+
run: |
82+
cd frontend
83+
npm run lint
84+
85+
- name: Run build
86+
run: |
87+
cd frontend
88+
npm run build

0 commit comments

Comments
 (0)