feat: Add TurboVec #171
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Run tests and upload coverage | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| jobs: | |
| test: | |
| name: Run tests with pytest | |
| if: ${{ !github.event.pull_request.draft }} # Skip draft PRs | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: ["ubuntu-latest", "windows-latest"] | |
| python-version: ["3.10", "3.11", "3.12"] | |
| exclude: | |
| - os: windows-latest | |
| python-version: "3.11" | |
| - os: windows-latest | |
| python-version: "3.12" | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| allow-prereleases: true | |
| # Install OpenBLAS on Ubuntu (required by the turbovec wheel) | |
| - name: Install system dependencies (Ubuntu) | |
| if: ${{ runner.os == 'Linux' }} | |
| run: sudo apt-get install -y libopenblas-dev | |
| # Step for Windows: Create and activate a virtual environment | |
| - name: Create and activate a virtual environment (Windows) | |
| if: ${{ runner.os == 'Windows' }} | |
| run: | | |
| irm https://astral.sh/uv/install.ps1 | iex | |
| $env:Path = "C:\Users\runneradmin\.local\bin;$env:Path" | |
| uv venv .venv | |
| "VIRTUAL_ENV=.venv" | Out-File -FilePath $env:GITHUB_ENV -Append | |
| "$PWD/.venv/Scripts" | Out-File -FilePath $env:GITHUB_PATH -Append | |
| # Step for Unix: Create and activate a virtual environment | |
| - name: Create and activate a virtual environment (Unix) | |
| if: ${{ runner.os != 'Windows' }} | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| uv venv .venv | |
| echo "VIRTUAL_ENV=.venv" >> $GITHUB_ENV | |
| echo "$PWD/.venv/bin" >> $GITHUB_PATH | |
| # Install dependencies using uv pip | |
| - name: Install dependencies | |
| run: make install-no-pre-commit | |
| # Run tests with coverage | |
| - name: Run tests under coverage | |
| run: | | |
| coverage run -m pytest | |
| coverage report | |
| # Upload results to Codecov | |
| - name: Upload results to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} |