Skip to content

build(deps): bump the github-actions group with 2 updates #40

build(deps): bump the github-actions group with 2 updates

build(deps): bump the github-actions group with 2 updates #40

Workflow file for this run

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 .