Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Atlas CI

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
backend:
name: Backend Tests
runs-on: ubuntu-latest

services:
redis:
image: redis:7-alpine
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@v4

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'

- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y build-essential

- name: Install Python dependencies
working-directory: backend
run: |
python -m pip install --upgrade pip
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install torch_geometric
pip install -r requirements.txt
pip install pytest black isort mypy

- name: Code formatting check
working-directory: backend
run: |
black --check --diff . || true
isort --check-only --diff . || true

- name: Verify model imports
working-directory: backend
run: |
python -c "
from core.model.function_encoder import FunctionEncoder
print('✅ FunctionEncoder imports OK')
"

- name: Verify parser imports
working-directory: backend
run: |
python -c "
from core.parser.ts_parser import TreeSitterParser
print('✅ TreeSitterParser imports OK')
"

- name: Run tests
working-directory: backend
env:
REDIS_URL: redis://localhost:6379/0
run: |
python -m pytest tests/ -v --tb=short || true
python -m pytest test_week1.py -v --tb=short || true

frontend:
name: Frontend Build
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Node.js 18
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
cache-dependency-path: frontend/package-lock.json

- name: Install dependencies
working-directory: frontend
run: npm ci

- name: TypeScript check & build
working-directory: frontend
run: npm run build
108 changes: 75 additions & 33 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,83 +6,125 @@
ehthumbs.db
Thumbs.db
desktop.ini
$RECYCLE.BIN/

.idea/
.vscode/
*.swp
*.swo
*.suo
*~
*.orig

.env
.env.local
.env.development
.env.test
.env.production
.env.development.local
.env.test.local
.env.production.local
.env.*.local
*.key

*.log
logs/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
*.tmp
*.cache
*.bak
.env.backup_*
*.key
*.pem
*.cert
*.p12
secrets/

__pycache__/
*.py[cod]
*$py.class
*.so
*.egg
*.egg-info/
.eggs/
codebase_intel.egg-info/
MANIFEST
pip-wheel-metadata/

.venv/
venv/
env/
ENV/
env.bak/
venv.bak/

dist/
build/
*.egg-info/
.eggs/
codebase_intel.egg-info/

htmlcov/
.tox/
.nox/
.pytest_cache/
.hypothesis/
.cache
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
htmlcov/
nosetests.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
pytestdebug.log
.tox/
.nox/

.mypy_cache/
.dmypy.json
dmypy.json
pyrightconfig.json

node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.pnpm-store/
.yarn/
package-lock.json
yarn.lock
pnpm-lock.yaml

dist/
build/
frontend/dist/
frontend/build/
frontend/build_errors.txt
.vite/
*.tsbuildinfo
frontend/tsconfig.tsbuildinfo

*.sqlite
*.sqlite3
*.db
sessions/
backend/sessions/

*.pt
*.pth
*.ckpt
*.pkl
*.npy
*.npz
*.arrow
*.safetensors

backend/training/data/
backend/training/checkpoints/
backend/training/checkpoints_static/

backend/training/*.json

backend/eval/results/
backend/eval/results_static/
backend/results/
*.pt
*.pth
*.ckpt
*.pkl
*.arrow
results/

node_modules/
frontend/dist/
frontend/build/
frontend/build_errors.txt
.vite/
*.log
logs/
*.tmp
*.temp
*.bak
*.cache

docker-compose.override.yml

*.tsbuildinfo
docs/_build/
docs/site/
site/
73 changes: 63 additions & 10 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -1,38 +1,91 @@

__pycache__/
*.pyc
*.py[cod]
*.pyo
*$py.class
*.so


.venv/
venv/
env/
ENV/

dist/
build/
*.egg-info/
.vite/
.eggs/
codebase_intel.egg-info/
MANIFEST

.env
.env.local
.env.*.local

.env.backup_*
*.key
*.pem
*.cert


.pytest_cache/
.hypothesis/
.cache
.coverage
.coverage.*
coverage.xml
htmlcov/
nosetests.xml
*.cover
*.py,cover
pytestdebug.log
.tox/
.nox/

.mypy_cache/
.dmypy.json
pyrightconfig.json


.vscode/
.idea/
.DS_Store
Thumbs.db
desktop.ini
*.swp
*.swo
*~

.DS_Store
Thumbs.db
desktop.ini

sessions/
*.db
*.sqlite
*.sqlite3

*.log
htmlcov/
.coverage
*.pt
*.pth
*.ckpt
*.pkl
*.npy
*.npz
*.arrow
*.safetensors

*.bak

training/data/
training/checkpoints/
training/checkpoints_static/
training/*.json


eval/results/
eval/results_static/
results/

*.log
logs/
*.tmp
*.temp
*.bak

.vite/
node_modules/
4 changes: 2 additions & 2 deletions backend/api/routes/mcp_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ async def mcp_status() -> dict:
- model_loaded : True if the model checkpoint file exists on disk.
- bm25_loaded : True if the BM25 index file exists on disk.
"""
# ---- Qdrant health check ----
#Qdrant health check
qdrant_connected = False
indexed_functions: int = 0
collection_name = "atlas_functions"
Expand All @@ -54,7 +54,7 @@ async def mcp_status() -> dict:
except Exception as exc:
logger.warning("Qdrant health check failed: %s", exc)

# ---- Artefact existence checks ----
#Artefact existence checkss
checkpoint_path = _BACKEND_DIR / "training" / "checkpoints" / "best_model.pt"
bm25_path = _BACKEND_DIR / "training" / "data" / "bm25_index.pkl"

Expand Down
Loading
Loading