build(deps): bump the github-actions group with 2 updates #40
Workflow file for this run
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: CI | |
| on: [push, pull_request] | |
| env: | |
| PY_COLORS: 1 | |
| COLUMNS: 110 | |
| PIP_DISABLE_PIP_VERSION_CHECK: 1 | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] | |
| os: [windows-latest, ubuntu-22.04, macos-14, macos-15-intel] | |
| architecture: [x64, x86] | |
| exclude: | |
| - os: ubuntu-22.04 | |
| architecture: x86 | |
| - os: macos-14 | |
| architecture: x86 | |
| - os: macos-15-intel | |
| architecture: x86 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 # fetch all commits/branches | |
| - name: Install system dependencies (Ubuntu) | |
| if: ${{ matrix.os == 'ubuntu-22.04' }} | |
| run: | | |
| sudo dpkg --add-architecture i386 | |
| sudo apt-get update | |
| sudo apt-get install -y libgfortran5:i386 | |
| - name: Set PYTHONNET_RUNTIME=coreclr | |
| if: ${{ matrix.os == 'macos-15-intel' }} | |
| run: echo "PYTHONNET_RUNTIME=coreclr" >> "$GITHUB_ENV" | |
| - name: Mono version (ubuntu-22.04 OR macos-14) | |
| if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-14'}} | |
| run: mono --version | |
| - name: Java version | |
| run: java -version | |
| - name: Set up Python ${{ matrix.python-version }} (Windows) | |
| if: ${{ matrix.os == 'windows-latest' }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| architecture: ${{ matrix.architecture }} | |
| - name: Set up Python ${{ matrix.python-version }} (non Windows) | |
| if: ${{ matrix.os != 'windows-latest' }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Upgrade pip | |
| run: python -m pip install --upgrade pip | |
| - name: Install test dependencies | |
| run: python -m pip install "comtypes;sys_platform=='win32'" py4j numpy pytest pytest-cov pytest-rerunfailures | |
| - name: Install pythonnet | |
| if: ${{ matrix.python-version != '3.14' }} | |
| run: python -m pip install pythonnet | |
| - name: Build custom wheels | |
| run: | | |
| python -m pip install --upgrade hatch | |
| hatch build --target custom | |
| - name: Install package from custom-built wheel | |
| run: python -m pip install --find-links dist --no-index msl-loadlib | |
| - name: Run tests | |
| run: python -m pytest --reruns 5 | |
| lint: | |
| name: Lint | |
| runs-on: windows-latest | |
| env: | |
| MYPYPATH: src | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: false | |
| python-version: '3.13' | |
| - name: Spelling | |
| uses: streetsidesoftware/cspell-action@v8 | |
| with: | |
| incremental_files_only: false | |
| - name: Linting | |
| run: uv run -- ruff check --force-exclude --no-fix . | |
| - name: Formatting | |
| run: uv run -- ruff format --force-exclude --check . | |
| - name: Typing:BasedPyright | |
| run: uv run -- basedpyright . | |
| - name: Typing:MyPy | |
| run: uv run -- mypy . |