name: CI on: push: branches: [master, main] pull_request: branches: [master, main] jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ['3.12'] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install uv uses: astral-sh/setup-uv@v3 - name: Install dependencies run: uv sync --group dev - name: Run tests run: uv run pytest --cov --cov-report=xml - name: Upload coverage uses: codecov/codecov-action@v4 if: matrix.python-version == '3.12' lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install uv uses: astral-sh/setup-uv@v3 - name: Install dependencies run: uv sync --group dev - name: Run Ruff linter run: uv run ruff check . - name: Run Ruff formatter run: uv run ruff format --check . - name: Run mypy run: uv run mypy tensors.py