Skip to content
Merged
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
36 changes: 36 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Lint and Test

on:
Comment on lines +1 to +3
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The job is named lint-and-test and the workflow is called "Lint and Test", but there is no lint step. The PR description explicitly defers lint, but the names will be misleading for any required check configuration or status badge. Consider renaming to test / "Test" to match what the workflow actually does, then rename again when lint is added.

Suggested change
name: Lint and Test
on:
name: Test
on:
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/test.yml
Line: 1-3

Comment:
The job is named `lint-and-test` and the workflow is called "Lint and Test", but there is no lint step. The PR description explicitly defers lint, but the names will be misleading for any required check configuration or status badge. Consider renaming to `test` / "Test" to match what the workflow actually does, then rename again when lint is added.

```suggestion
name: Test

on:
```

How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

pull_request:
branches: [main, "feat/**", "fix/**"]
push:
branches: [main]

jobs:
lint-and-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
Comment on lines +9 to +14
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 No job-level timeout set

Without timeout-minutes, a hung test (e.g. a socket that never resolves against the placeholder API_URL) will block the runner until GitHub's default 6-hour hard limit. Because the matrix spawns two jobs per run, a single stuck test can hold two runners for hours. Adding timeout-minutes: 10 (or a value appropriate to your 167-test suite) on the job keeps failures fast.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/test.yml
Line: 9-14

Comment:
**No job-level timeout set**

Without `timeout-minutes`, a hung test (e.g. a socket that never resolves against the placeholder `API_URL`) will block the runner until GitHub's default 6-hour hard limit. Because the matrix spawns two jobs per run, a single stuck test can hold two runners for hours. Adding `timeout-minutes: 10` (or a value appropriate to your 167-test suite) on the job keeps failures fast.

How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "0.6.14"
enable-cache: true

- name: Install dependencies
run: uv sync --dev --all-extras
Comment on lines +29 to +30
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The uv sync command here uses --all-extras, but main.yml (the release pipeline) uses uv sync --dev without --all-extras. If the package has optional extras, the test environment will include dependencies that the release build does not, potentially hiding missing-dependency failures that real users would hit.

Suggested change
- name: Install dependencies
run: uv sync --dev --all-extras
- name: Install dependencies
run: uv sync --dev
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/test.yml
Line: 29-30

Comment:
The `uv sync` command here uses `--all-extras`, but `main.yml` (the release pipeline) uses `uv sync --dev` without `--all-extras`. If the package has optional extras, the test environment will include dependencies that the release build does not, potentially hiding missing-dependency failures that real users would hit.

```suggestion
      - name: Install dependencies
        run: uv sync --dev
```

How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code


- name: Create test env
run: cp tests/sample.env tests/.env

- name: Tests (pytest)
run: uv run pytest tests/ -v
Loading