Skip to content

Commit 3385143

Browse files
committed
feat: upgrade remote scanning and reporting (.github/workflows/verify.yml)
1 parent 0e32f9f commit 3385143

1 file changed

Lines changed: 47 additions & 15 deletions

File tree

.github/workflows/verify.yml

Lines changed: 47 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,74 @@ name: Verify Roast CLI
22

33
on:
44
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
paths:
9+
- '.github/workflows/verify.yml'
10+
- 'README.md'
11+
- 'pyproject.toml'
12+
- 'roast/**'
13+
- 'tests/**'
14+
pull_request:
15+
paths:
16+
- '.github/workflows/verify.yml'
17+
- 'README.md'
18+
- 'pyproject.toml'
19+
- 'roast/**'
20+
- 'tests/**'
21+
22+
permissions:
23+
contents: read
524

625
jobs:
726
verify:
827
runs-on: ubuntu-latest
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
python-version: ['3.11', '3.12']
32+
933
steps:
1034
- name: Checkout
1135
uses: actions/checkout@v4
1236

1337
- name: Setup Python
1438
uses: actions/setup-python@v5
1539
with:
16-
python-version: '3.11'
40+
python-version: ${{ matrix.python-version }}
1741

1842
- name: Install
1943
run: |
2044
python -m pip install --upgrade pip
2145
pip install -e .
2246
pip install pytest
2347
24-
- name: Run analyzer tests
25-
run: pytest tests/test_analyzer.py
48+
- name: Run test suite
49+
run: pytest -q
2650

27-
- name: CLI smoke test (local path)
28-
run: roast . --no-llm --max-files 10
51+
- name: CLI smoke test (local path + config + JSON + fail-under)
52+
run: roast . --no-llm --max-files 12 --include-config --json-output roast-report.json --fail-under 1
53+
54+
- name: Validate JSON report schema
55+
run: |
56+
python - <<'PY'
57+
import json
58+
with open('roast-report.json', encoding='utf-8') as fh:
59+
data = json.load(fh)
60+
assert 'summary' in data
61+
assert 'counts' in data
62+
assert 'hotspots' in data
63+
assert 'issues' in data
64+
assert 'share' in data
65+
assert 'Overall' in data['summary']['scores']
66+
PY
2967
3068
- name: CLI smoke test (GitHub URL path)
3169
run: roast https://github.com/psf/requests --no-llm --max-files 10
3270

3371
- name: CLI smoke test (LLM Groq primary + NIM backup)
72+
if: matrix.python-version == '3.11'
3473
env:
3574
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
3675
NVIDIA_NIM_API_KEY: ${{ secrets.NVIDIA_NIM_API_KEY }}
@@ -39,13 +78,10 @@ jobs:
3978
echo "No LLM secrets configured; skipping LLM smoke test."
4079
exit 0
4180
fi
42-
roast . --max-files 8 \
43-
--provider auto \
44-
--model llama-3.3-70b-versatile \
45-
--backup-provider nim \
46-
--backup-model microsoft/phi-4-mini-instruct
81+
roast . --max-files 8 --provider auto --model llama-3.3-70b-versatile --backup-provider nim --backup-model microsoft/phi-4-mini-instruct
4782
4883
- name: CLI smoke test (forced NIM fallback)
84+
if: matrix.python-version == '3.11'
4985
env:
5086
GROQ_API_KEY: invalid
5187
NVIDIA_NIM_API_KEY: ${{ secrets.NVIDIA_NIM_API_KEY }}
@@ -54,8 +90,4 @@ jobs:
5490
echo "No NIM secret configured; skipping fallback smoke test."
5591
exit 0
5692
fi
57-
roast . --max-files 8 \
58-
--provider auto \
59-
--model llama-3.3-70b-versatile \
60-
--backup-provider nim \
61-
--backup-model microsoft/phi-4-mini-instruct
93+
roast . --max-files 8 --provider auto --model llama-3.3-70b-versatile --backup-provider nim --backup-model microsoft/phi-4-mini-instruct

0 commit comments

Comments
 (0)