Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
189b5df
Move data folder
ppinchuk Oct 21, 2025
aa3d373
Moce files
ppinchuk Oct 21, 2025
d70a8b9
Make integrated directory
ppinchuk Oct 21, 2025
9043810
Update data directory fixture
ppinchuk Oct 21, 2025
f3af6f8
Fix path
ppinchuk Oct 21, 2025
d3e0bb6
Update some jurs names
ppinchuk Oct 21, 2025
b597743
Update notebook
ppinchuk Oct 21, 2025
f12148a
Update names
ppinchuk Oct 21, 2025
3b856d5
Update notebook
ppinchuk Oct 21, 2025
637e71f
Update notebook
ppinchuk Oct 21, 2025
6e2d6c9
Remove duplicate district
ppinchuk Oct 21, 2025
61385c9
Fix unit tests
ppinchuk Oct 21, 2025
eb90a04
Fix tests
ppinchuk Oct 21, 2025
532ab73
Update commands
ppinchuk Oct 21, 2025
21bc961
Deprecate lint action
ppinchuk Oct 21, 2025
2ca474b
Add Python CI action
ppinchuk Oct 21, 2025
ef66b7c
Add tox config
ppinchuk Oct 21, 2025
638622d
Fix typo
ppinchuk Oct 21, 2025
a7d2d9b
Add poppler install
ppinchuk Oct 21, 2025
a1ea962
Merge remote-tracking branch 'origin/main' into pp/tox
ppinchuk Oct 21, 2025
a75155a
Update action
ppinchuk Oct 21, 2025
686677f
Update action
ppinchuk Oct 21, 2025
f1b2a1e
Install specific libs
ppinchuk Oct 21, 2025
ce8f81b
Mark test as flaky
ppinchuk Oct 21, 2025
7e9ca92
Don't test 3.14 yet
ppinchuk Oct 21, 2025
587d265
Up number of retries
ppinchuk Oct 21, 2025
ad5082c
Try to fix windows install
ppinchuk Oct 21, 2025
a11b4a1
Try to fix windows action
ppinchuk Oct 21, 2025
b56a133
Add conda install
ppinchuk Oct 21, 2025
d42fb72
Try to fix windows test
ppinchuk Oct 21, 2025
ba7b045
Don't test ptt
ppinchuk Oct 21, 2025
a1466c3
Mark test as flaky
ppinchuk Oct 21, 2025
e6f9740
Bump elm dep
ppinchuk Oct 21, 2025
44d438a
Update test
ppinchuk Oct 21, 2025
7fdffda
Try another fix for windows
ppinchuk Oct 21, 2025
9aee45a
No command call
ppinchuk Oct 22, 2025
97c98a4
No windows tox tests
ppinchuk Oct 22, 2025
be15b35
Mark test as flaky
ppinchuk Oct 22, 2025
affac9d
Bump numpy
ppinchuk Oct 22, 2025
b805ea0
`--frozen` -> `--locked`
ppinchuk Oct 22, 2025
f3e66a7
Add `fetch-tags: true`
ppinchuk Oct 22, 2025
ad623f3
Reference correct file
ppinchuk Oct 24, 2025
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
152 changes: 152 additions & 0 deletions .github/workflows/ci-python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
name: Python checks

on:
push:
branches: [main]
paths:
- compass/**
- .github/workflows/ci-python.yml
- pyproject.toml
- pixi.lock
pull_request:
paths:
- compass/**
- .github/workflows/ci-python.yml
- pyproject.toml
- pixi.lock
workflow_dispatch:

jobs:
lint:
name: Lint Python Code Base with Ruff
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: astral-sh/ruff-action@v3
with:
version: "latest"
args: "check"
src: "./compass"
- uses: astral-sh/ruff-action@v3
with:
version: "latest"
args: "format --check"
src: "./compass"

unit-tests:
needs: lint
name: Python Unit Tests (Pixi)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 8
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- name: Checkout Repo
uses: actions/checkout@v5
with:
fetch-depth: 0
fetch-tags: true

- uses: prefix-dev/setup-pixi@v0.9.2
with:
pixi-version: v0.50.2
locked: true
cache: true
cache-write: ${{ github.ref == 'refs/heads/main' }}
environments: pdev

- run: |
pixi run -e pdev --locked tests-u

integration-tests:
needs: lint
name: Python Integration Tests (Pixi)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 8
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- name: Checkout Repo
uses: actions/checkout@v5
with:
fetch-depth: 0
fetch-tags: true

- uses: prefix-dev/setup-pixi@v0.9.2
with:
pixi-version: v0.50.2
locked: true
cache: true
cache-write: ${{ github.ref == 'refs/heads/main' }}
environments: pdev

- run: |
pixi run -e pdev --locked tests-i

tox-tests:
needs: lint
name: Python tests (Tox)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
max-parallel: 8
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ['3.13', '3.12']

steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
fetch-tags: true

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'

- name: Install Poppler Reqs (Linux)
if: ${{ runner.os == 'Linux' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y libpoppler-cpp-dev poppler-utils

- name: Install Poppler Reqs (Mac)
if: ${{ runner.os == 'macOS' }}
shell: bash
run: |
brew install poppler

- name: Install Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox tox-gh-actions>=2.0
python -m pip install pdftotext

- name: Load tox cache
uses: actions/cache/restore@v4
with:
path: .tox/
key: ${{ runner.os }}-${{ matrix.python-version }}-tox-v1-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-${{ matrix.python-version }}-tox-v1-

- name: Test with tox
run: tox -e ${{ matrix.python-version == '3.12' && 'msv' || 'latest' }}
env:
PYTHONDEVMODE: 1

- name: Save tox cache only on main
if: github.ref == 'refs/heads/main'
uses: actions/cache/save@v4
with:
path: .tox/
key: ${{ runner.os }}-${{ matrix.python-version }}-tox-v1-${{ hashFiles('**/pyproject.toml') }}
16 changes: 8 additions & 8 deletions .github/workflows/ci-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:

- name: Run cargo check
run: |
pixi run -e rdev --frozen cargo check --workspace --locked
pixi run -e rdev --locked cargo check --workspace --locked

lints:
# Only run tests if code looks OK
Expand All @@ -68,11 +68,11 @@ jobs:

- name: Run cargo fmt
run: |
pixi run -e rdev --frozen cargo fmt --all --check
pixi run -e rdev --locked cargo fmt --all --check

- name: Run cargo clippy
run: |
pixi run -e rdev --frozen cargo clippy --locked --all-features --tests -- -D warnings
pixi run -e rdev --locked cargo clippy --locked --all-features --tests -- -D warnings

test:
# Only run tests if code looks OK
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
shared-key: "gha"
save-if: ${{ github.ref == 'refs/heads/main' }}

- run: pixi run -e rdev --frozen tests-r
- run: pixi run -e rdev --locked tests-r

publish-dry:
name: Rust - Publish (dry-run)
Expand All @@ -127,11 +127,11 @@ jobs:

- name: Publish crates (DB)
run: |
pixi run -e rdev --frozen publish-db --dry-run
pixi run -e rdev --locked publish-db --dry-run

- name: Publish crates (CLI)
run: |
pixi run -e rdev --frozen publish-cli --dry-run
pixi run -e rdev --locked publish-cli --dry-run

publish-cli:
name: Publish Rust CLI crate
Expand All @@ -158,7 +158,7 @@ jobs:

- name: Publish crates (CLI)
run: |
pixi run -e rdev --frozen publish-cli
pixi run -e rdev --locked publish-cli
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

Expand Down Expand Up @@ -187,6 +187,6 @@ jobs:

- name: Publish crates (DB)
run: |
pixi run -e rdev --frozen publish-db
pixi run -e rdev --locked publish-db
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
34 changes: 0 additions & 34 deletions .github/workflows/lint-python.yml

This file was deleted.

Loading