Skip to content
Open
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
23 changes: 0 additions & 23 deletions .githooks/pre-commit

This file was deleted.

65 changes: 0 additions & 65 deletions .githooks/pre-push

This file was deleted.

37 changes: 0 additions & 37 deletions .githooks/pre-push-python/extras.sh

This file was deleted.

41 changes: 0 additions & 41 deletions .githooks/pre-push-python/fmt-lint.sh

This file was deleted.

18 changes: 0 additions & 18 deletions .githooks/pre-push-python/lock.sh

This file was deleted.

38 changes: 0 additions & 38 deletions .githooks/pre-push-python/stubs.sh

This file was deleted.

33 changes: 0 additions & 33 deletions .githooks/pre-push-rust/stubs.sh

This file was deleted.

26 changes: 17 additions & 9 deletions .github/workflows/python_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,37 +54,40 @@ jobs:
with:
enable-cache: true

- name: Set up just
uses: extractions/setup-just@v4

- name: Verify lockfile is up to date
run: uv lock --check

- name: Install dependencies
run: uv sync --extra dev-all

- name: Lint
run: uv run ruff check
run: just lint

- name: Format
run: uv run ruff format --check
run: just fmt-check

- name: MyPy
run: uv run mypy lib
run: just mypy

# Re-run mypy with --platform=win32 so typeshed evaluates platform-gated
# stubs (e.g. fcntl) as if we were on Windows. Catches imports that
# would only fail at runtime on Windows.
- name: MyPy (Windows platform)
run: uv run mypy --platform=win32 lib
run: just mypy-win

- name: Pyright
run: uv run pyright lib
run: just pyright

- name: Check Stubs Generation
working-directory: .
run: bash .githooks/pre-push-python/stubs.sh
run: just python::stubs-check

- name: Check Extras Generation
working-directory: .
run: bash .githooks/pre-push-python/extras.sh
run: just python::extras-check

- name: Sync Stubs Mypy
working-directory: python/lib
Expand All @@ -110,7 +113,7 @@ jobs:
# code that runs on 3.8). Ceiling testing is rarely useful in
# practice — Python's deprecation cycle is long and the project's
# stdlib usage is conservative — so it stays available locally as
# `./scripts/dev test-ceiling` rather than running on every PR.
# `just test-ceiling` rather than running on every PR.
# The full 3.8-3.14 install matrix lives in `python_build.yaml`.
python-version: ["3.8"]
steps:
Expand All @@ -124,11 +127,16 @@ jobs:
with:
enable-cache: true

- name: Set up just
uses: extractions/setup-just@v4

- name: Install dependencies (Python ${{ matrix.python-version }})
run: uv sync --python ${{ matrix.python-version }} --extra dev-all

# The venv is synced to the matrix Python above, so `just test`
# (uv run pytest) collects against that interpreter.
- name: Pytest Unit Tests (Python ${{ matrix.python-version }})
run: uv run --python ${{ matrix.python-version }} pytest -m "not integration"
run: just test

# Disabling integration tests that interact with Sift until a better solution is implemented
# - name: Pytest Integration Tests
Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/rust_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,17 +65,23 @@ jobs:
with:
mdbook-version: "0.4.40"

- name: Set up just
uses: extractions/setup-just@v4

# These call the same recipes developers run locally (rust/justfile), so
# CI and local stay in lockstep. The toolchain install above provides
# cargo/clippy/rustfmt; just only wraps the commands.
- name: Run cargo check
run: cargo check --all-features
run: just rust::check

- name: Run cargo clippy
run: cargo clippy --all-features
run: just rust::clippy

- name: Run cargo fmt
run: cargo fmt --check --all
run: just rust::fmt-check

- name: Run cargo test
run: cargo test --all-features
run: just rust::test

- name: Run sift-stream-bindings lint & test
shell: bash
Expand Down
Loading
Loading