Skip to content

Commit 9848904

Browse files
authored
Refactor CI workflow for linting and testing
Updated CI workflow to separate linting and testing jobs. Added linting step with ruff and modified test command to ignore specific files.
1 parent 3f363ae commit 9848904

1 file changed

Lines changed: 27 additions & 10 deletions

File tree

.github/workflows/ci.yml

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,32 @@ on:
77
branches: ["main"]
88

99
jobs:
10-
lint-and-test:
11-
name: Lint & Test (Python ${{ matrix.python-version }})
10+
lint:
11+
name: Lint (Python 3.11)
1212
runs-on: ubuntu-latest
1313

14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
18+
- name: Set up Python 3.11
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: "3.11"
22+
cache: "pip"
23+
24+
- name: Install ruff
25+
run: pip install ruff
26+
27+
- name: Run ruff
28+
run: ruff check . --config ruff.toml
29+
30+
test:
31+
name: Test (Python ${{ matrix.python-version }})
32+
runs-on: ubuntu-latest
33+
# Tests run independently — lint failures don't block test results
34+
needs: []
35+
1436
strategy:
1537
fail-fast: false
1638
matrix:
@@ -30,24 +52,19 @@ jobs:
3052
run: |
3153
python -m pip install --upgrade pip
3254
pip install -r requirements.txt
33-
pip install ruff
34-
35-
- name: Lint with ruff
36-
run: |
37-
ruff check . --select E,W,F --ignore E501
3855
3956
- name: Run tests
4057
env:
41-
# CI runs without a real API key; tests that hit the LLM are skipped
58+
# Tests that call the Gemini API are skipped when this is absent
4259
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
4360
PYTHONPATH: ${{ github.workspace }}
4461
run: |
45-
pytest tests/ -v --tb=short
62+
pytest tests/ -v --tb=short --ignore=tests/mock_code.py --ignore=tests/mock_run.py
4663
4764
docker-build:
4865
name: Docker build check
4966
runs-on: ubuntu-latest
50-
needs: lint-and-test
67+
needs: [test]
5168

5269
steps:
5370
- name: Checkout repository

0 commit comments

Comments
 (0)