Repository navigation
version bump to v2.17.5 #591
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| verify-pins: | |
| name: Verify dependency pins | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Prepare Cargo workspace for CI | |
| run: bash scripts/ci/prepare-cargo-workspace.sh | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 | |
| with: | |
| python-version: "3.13" | |
| enable-cache: true | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| - name: Install Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: "1.25" | |
| cache: false | |
| - name: Install verify-pins tools | |
| run: bash scripts/ci/install-verify-pins-tools.sh | |
| - name: Verify dependency pins | |
| run: bash scripts/deps/verify-pins.sh --short --no-report | |
| test: | |
| name: Test (Python 3.13) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Prepare Cargo workspace for CI | |
| run: bash scripts/ci/prepare-cargo-workspace.sh | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 | |
| with: | |
| python-version: "3.13" | |
| enable-cache: true | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install dependencies | |
| run: uv sync --all-extras --group dev --group test --locked | |
| - name: Verify cyt-indexer-sdk import | |
| run: uv run python -c "from cyt_indexer._native import build_catalog_index; assert callable(build_catalog_index)" | |
| - name: Install ast-grep | |
| run: uv pip install ast-grep-cli==0.41.0 | |
| - name: Ast-grep scan | |
| run: uv run ast-grep scan src/ sdk/ | |
| - name: Check agent imports | |
| run: uv run python scripts/pre-commit-hooks/check_agent_imports.py | |
| - name: Check cyt_client imports | |
| run: uv run python scripts/pre-commit-hooks/check_cyt_client_imports.py | |
| - name: Ruff lint | |
| run: uv run ruff check src/cyt src/tests | |
| - name: Ruff format | |
| run: uv run ruff format --check src/cyt src/tests | |
| - name: Mypy | |
| run: uv run mypy -p cyt | |
| - name: Pytest (unit) | |
| run: bash scripts/local/tests/pytest-category.sh unit | |
| - name: Pytest (gherkin unit) | |
| run: bash scripts/local/tests/pytest-category.sh gherkin-unit | |
| - name: Pytest (quality_metrics) | |
| run: bash scripts/local/tests/pytest-category.sh quality_metrics | |
| - name: Pytest (coverage) | |
| run: bash scripts/local/tests/pytest-category.sh coverage | |
| - name: Pytest (mutation) | |
| run: bash scripts/local/tests/pytest-category.sh mutation | |
| - name: Pytest (sdk/python unit) | |
| run: bash scripts/local/tests/pytest-sdk-python.sh | |
| - name: Rust tests (cyt-indexer) | |
| run: cargo test -p cyt-indexer --features testing,ffi | |
| - name: Rust fmt | |
| run: cargo fmt --all -- --check | |
| - name: Rust clippy (cyt-indexer) | |
| run: cargo clippy -p cyt-indexer --all-targets --all-features -- -D warnings | |
| - name: Rust FFI smoke test | |
| run: cargo test -p cyt-indexer --no-default-features --features ffi --test ffi_smoke | |
| - name: Rust cucumber (bm25 cohesion) | |
| run: cargo test -p cyt-indexer --features testing --test cucumber_bm25_cohesion | |
| - name: Build package | |
| run: uv build | |
| test-typescript-sdk: | |
| name: Test (TypeScript SDK) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Prepare Cargo workspace for CI | |
| run: bash scripts/ci/prepare-cargo-workspace.sh | |
| - name: Install Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "22" | |
| cache: npm | |
| cache-dependency-path: sdk/typescript/package-lock.json | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install uv (parity reference) | |
| uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 | |
| with: | |
| python-version: "3.13" | |
| enable-cache: true | |
| - name: Sync Python SDK (parity reference) | |
| run: uv sync --all-extras --group dev --group test --locked | |
| - name: Install dependencies | |
| working-directory: sdk/typescript | |
| run: npm ci | |
| - name: Build TypeScript SDK | |
| working-directory: sdk/typescript | |
| run: npm run build | |
| - name: Test TypeScript SDK (unit) | |
| working-directory: sdk/typescript | |
| run: npm run build && npm run test:unit | |
| - name: Test TypeScript SDK (parity) | |
| working-directory: sdk/typescript | |
| run: npm run test:parity |