Skip to content
Merged
Show file tree
Hide file tree
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
24 changes: 23 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ jobs:
test:
name: Unit Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.14"]
steps:
Expand All @@ -70,11 +72,31 @@ jobs:
- name: Setup Python
run: uv python install ${{ matrix.python-version }}

- name: Cache uv + Python installs + venv
uses: actions/cache@v4
with:
path: |
~/.cache/uv
~/.local/share/uv/python
.venv
key: ${{ runner.os }}-uv-${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}

- name: Install dependencies
run: uv sync --all-extras

- name: Run unit tests
run: uv run pytest tests/unit/ -v
if: matrix.python-version != '3.9'
run: uv run pytest tests/unit/ -q

- name: Run unit tests with coverage
if: matrix.python-version == '3.9'
run: uv run pytest tests/unit/ -q --cov=drift/core --cov-report=xml

- name: Upload coverage to Coveralls
if: matrix.python-version == '3.9' && github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: coverallsapp/github-action@v2
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot Jan 18, 2026

Choose a reason for hiding this comment

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

P2: Coveralls uploads run for each matrix job without parallel build configuration, so Coveralls will treat each upload as a separate build and coverage can be incomplete or overwritten. Configure parallel: true + flag-name on the matrix step and add a parallel-finished job to close/aggregate the build.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 81:

<comment>Coveralls uploads run for each matrix job without parallel build configuration, so Coveralls will treat each upload as a separate build and coverage can be incomplete or overwritten. Configure `parallel: true` + `flag-name` on the matrix step and add a `parallel-finished` job to close/aggregate the build.</comment>

<file context>
@@ -73,8 +73,12 @@ jobs:
+
+      - name: Upload coverage to Coveralls
+        # if: matrix.python-version == '3.9' && github.event_name == 'push' && github.ref == 'refs/heads/main'
+        uses: coverallsapp/github-action@v2
 
   build:
</file context>
Fix with Cubic

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

no longer valid

with:
file: coverage.xml

build:
name: Build Package
Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -224,4 +224,9 @@ __marimo__/
.DS_Store

# Bug tracking
**/BUG_TRACKING.md
**/BUG_TRACKING.md

# Coverage
coverage.lcov
coverage.xml
.coverage
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ uv run ty check drift/ tests/ # Type check
```bash
uv run pytest tests/unit/ -v

# Run with coverage
uv run pytest tests/unit/ -v --cov=drift --cov-report=term-missing

# Run a specific test file
uv run pytest tests/unit/test_json_schema_helper.py -v
uv run pytest tests/unit/test_adapters.py -v
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ dev = [
"ty>=0.0.1a7",
"pytest>=8.0.0,<9.0.0",
"pytest-mock>=3.15.0",
"pytest-cov>=7.0.0",
]

[project.urls]
Expand Down
Loading