Skip to content

type sparse.py, enable mypy in CI #703

type sparse.py, enable mypy in CI

type sparse.py, enable mypy in CI #703

Workflow file for this run

name: Python package
on: [push, pull_request, workflow_dispatch]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 21
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macOS-latest, windows-latest]
exclude:
- os: macOS-latest
python-version: '3.8'
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Update pip, install dev deps
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
- name: Code Quality
run: |
python -m pip install black
black pulp/ --check
- name: Type Check
run: |
mypy ./
- name: Install dependencies
run: |
python -m pip install .
- name: install glpk
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update -qq
sudo apt-get install -qq glpk-utils
- name: install xpress
if: matrix.os != 'macOS-latest' && matrix.python-version != '3.12'
run: python -m pip install xpress
- name: Install gurobipy
run: |
python -m pip install gurobipy
- name: Install highspy
if: matrix.python-version != '3.12'
# alternatively if: contains(fromJSON("['3.8', '3.9', '3.10', '3.11']"), matrix.python-version)
run: |
python -m pip install highspy "numpy<2"
- name: Install highspy cmd
if: matrix.os == 'ubuntu-latest'
uses: supplypike/setup-bin@v4
with:
uri: 'https://github.com/JuliaBinaryWrappers/HiGHSstatic_jll.jl/releases/download/HiGHSstatic-v1.7.1%2B0/HiGHSstatic.v1.7.1.x86_64-linux-gnu-cxx11.tar.gz'
subPath: 'bin'
name: 'highs'
version: '1.7.1'
- name: Install coptpy
run: |
python -m pip install coptpy
- name: Install saspy
run: |
python -m pip install saspy
- name: Install swat
run: |
python -m pip install swat
- name: Test with pulptest
run: pulptest