SouravNath commited on
Commit
96bf32b
·
1 Parent(s): 83e5add

ci: fix workflow — use lightweight requirements-test.txt (244 tests pass)

Browse files
Files changed (2) hide show
  1. .github/workflows/ci.yml +5 -20
  2. requirements-test.txt +25 -0
.github/workflows/ci.yml CHANGED
@@ -24,35 +24,20 @@ jobs:
24
  uses: actions/cache@v4
25
  with:
26
  path: ~/.cache/pip
27
- key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
28
  restore-keys: |
29
  ${{ runner.os }}-pip-
30
 
31
- - name: Install dependencies
32
  run: |
33
  python -m pip install --upgrade pip
34
- pip install -r requirements.txt
35
-
36
- - name: Validate dataset config (no GPU needed)
37
- run: python -m fine_tuning.train --dry-run
38
- continue-on-error: true # dry-run may skip if dataset not built yet
39
 
40
  - name: Run full test suite
41
  run: |
42
- pytest tests/ -q \
43
- --tb=short \
44
- --no-header \
45
- -p no:warnings
46
  env:
47
- # Dummy keys so settings validation passes in CI
48
  GROQ_API_KEY: ci-dummy-key
49
  LLM_PROVIDER: groq
50
  LLM_MODEL: llama-3.3-70b-versatile
51
-
52
- - name: Upload coverage report
53
- if: always()
54
- uses: actions/upload-artifact@v4
55
- with:
56
- name: test-results
57
- path: .pytest_cache/
58
- retention-days: 7
 
24
  uses: actions/cache@v4
25
  with:
26
  path: ~/.cache/pip
27
+ key: ${{ runner.os }}-pip-${{ hashFiles('requirements-test.txt') }}
28
  restore-keys: |
29
  ${{ runner.os }}-pip-
30
 
31
+ - name: Install test dependencies
32
  run: |
33
  python -m pip install --upgrade pip
34
+ pip install -r requirements-test.txt
 
 
 
 
35
 
36
  - name: Run full test suite
37
  run: |
38
+ pytest tests/ -q --tb=short --no-header
 
 
 
39
  env:
 
40
  GROQ_API_KEY: ci-dummy-key
41
  LLM_PROVIDER: groq
42
  LLM_MODEL: llama-3.3-70b-versatile
43
+ OPENAI_API_KEY: ci-dummy-key
 
 
 
 
 
 
 
requirements-test.txt ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Lightweight requirements for CI test suite only
2
+ # Heavy packages (torch, faiss, sentence-transformers) are mocked in tests
3
+
4
+ # Core
5
+ pydantic>=2.7.0
6
+ pydantic-settings>=2.2.0
7
+ python-dotenv>=1.0.0
8
+ httpx>=0.27.0
9
+ tenacity>=8.3.0
10
+
11
+ # AST parsing (needed for phase2 tests)
12
+ tree-sitter>=0.22.0
13
+ tree-sitter-python>=0.22.0
14
+
15
+ # Code understanding
16
+ networkx>=3.3
17
+ rank-bm25>=0.2.2
18
+ numpy>=1.26.0
19
+ scipy>=1.13.0
20
+ diskcache>=5.6.3
21
+ unidiff>=0.7.5
22
+
23
+ # Test runner
24
+ pytest>=8.0.0
25
+ pytest-asyncio>=0.23.0