name: CI on: push: branches: [ main, develop ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: lint-and-typecheck: name: Lint & Typecheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 with: enable-cache: true - uses: actions/setup-python@v5 with: python-version: '3.13' - run: uv sync - run: uv run ruff check src tests - run: uv run pyrefly check . test: name: Test (${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 with: enable-cache: true - uses: actions/setup-python@v5 with: python-version: | 3.8 3.13 - run: uvx tox run -e py38,py313