Skip to content

Release 0.12.0

Release 0.12.0 #223

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv sync
- run: uv run ruff check src/ tests/
- run: uv run ruff format --check src/ tests/
test:
runs-on: ubuntu-latest
steps:
- name: Free disk space
run: |
# Remove large pre-installed packages we don't need
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
# NOTE: Don't prune Docker images - keeps base images cached for faster builds
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- name: Cache HuggingFace models
uses: actions/cache@v5
with:
path: ~/.cache/huggingface
key: huggingface-${{ runner.os }}-${{ hashFiles('pyproject.toml') }}
restore-keys: |
huggingface-${{ runner.os }}-
- run: uv sync --all-extras
# Skip container tests in CI for now (too slow - need Docker layer caching)
- name: Run tests with coverage
run: uv run pytest tests/ -v --ignore=tests/test_container.py -k "not Container" --cov=src/py_code_mode --cov-report=xml --cov-report=term
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: ./coverage.xml
fail_ci_if_error: false
verbose: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}