Skip to content

unet_segmentation: swap tree-crown base checkpoint for a building-pre… #401

unet_segmentation: swap tree-crown base checkpoint for a building-pre…

unet_segmentation: swap tree-crown base checkpoint for a building-pre… #401

Workflow file for this run

name: style & tests
on:
push:
branches: [develop]
paths:
- "fair/**"
- "examples/**"
- "models/**"
- "pyproject.toml"
- "uv.lock"
- ".github/workflows/**"
- ".github/scripts/**"
pull_request:
branches: [develop]
paths:
- "fair/**"
- "examples/**"
- "models/**"
- "pyproject.toml"
- "uv.lock"
- ".github/workflows/**"
- ".github/scripts/**"
workflow_dispatch:
permissions:
contents: read
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ruff:
name: ruff
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Clone repo
uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v8.0.0
with:
python-version: "3.13"
enable-cache: true
- name: Install dependencies
run: uv sync --group dev
- name: Run ruff checks
run: |
uv run ruff check --output-format=github --no-fix .
uv run ruff format --diff
ty:
name: ty
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Clone repo
uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v8.0.0
with:
python-version: "3.13"
enable-cache: true
- name: Install dependencies
run: uv sync --group ci
- name: Run ty checks
run: uv run ty check --ignore unresolved-import --output-format github # TODO : figure out way for this ignore unresolved imports in models repo
tests:
name: tests
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Clone repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up uv
uses: astral-sh/setup-uv@v8.0.0
with:
python-version: "3.13"
enable-cache: true
- name: Install dependencies
run: uv sync --group dev
- name: Run pytest with coverage
run: uv run pytest --tb=short -q --cov=fair --cov-report=term-missing
--cov-report=xml:coverage.xml --cov-fail-under=95
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: fair
name: fair-coverage
build:
name: build check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Clone repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up uv
uses: astral-sh/setup-uv@v8.0.0
with:
python-version: "3.13"
enable-cache: true
- name: Build package
run: uv build
- name: Verify wheel contents
run: |
uv venv /tmp/verify-env
VIRTUAL_ENV=/tmp/verify-env uv pip install dist/*.whl
/tmp/verify-env/bin/python -c "import fair; print(fair.__version__)"