Verify Roast CLI #10
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Verify Roast CLI | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - '.github/workflows/verify.yml' | |
| - 'README.md' | |
| - 'pyproject.toml' | |
| - 'roast/**' | |
| - 'tests/**' | |
| pull_request: | |
| paths: | |
| - '.github/workflows/verify.yml' | |
| - 'README.md' | |
| - 'pyproject.toml' | |
| - 'roast/**' | |
| - 'tests/**' | |
| permissions: | |
| contents: read | |
| jobs: | |
| verify: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11', '3.12'] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e . | |
| pip install pytest | |
| - name: Run test suite | |
| run: pytest -q | |
| - name: CLI smoke test (local path + config + JSON + fail-under) | |
| run: roast . --no-llm --max-files 12 --include-config --json-output roast-report.json --fail-under 1 | |
| - name: Validate JSON report schema | |
| run: | | |
| python - <<'PY' | |
| import json | |
| with open('roast-report.json', encoding='utf-8') as fh: | |
| data = json.load(fh) | |
| assert 'summary' in data | |
| assert 'counts' in data | |
| assert 'hotspots' in data | |
| assert 'issues' in data | |
| assert 'share' in data | |
| assert 'Overall' in data['summary']['scores'] | |
| PY | |
| - name: CLI smoke test (GitHub URL path) | |
| run: roast https://github.com/psf/requests --no-llm --max-files 10 | |
| - name: Note on LLM smoke coverage | |
| if: matrix.python-version == '3.11' | |
| run: echo "Provider-backed LLM smoke remains manual to keep verify.yml deterministic. Use roast-famous.yml for secret-backed LLM checks." |