CI: Add a Cygwin CI run. #65
This file contains 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: Cygwin Tests | |
on: | |
push: | |
branches: | |
- main | |
- maintenance/** | |
pull_request: | |
branches: | |
- main | |
- maintenance/** | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
cygwin: | |
name: Cygwin tests | |
runs-on: windows-latest | |
env: | |
SHELLOPTS: igncr | |
CHERE_INVOKING: 1 | |
CYGWIN_NOWINPATH: 1 | |
PYTHONPATH: /usr/local/lib/python3.9/site-packages | |
steps: | |
- run: git config --global core.autocrlf input | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: cygwin/cygwin-install-action@v2 | |
with: | |
packages: >- | |
gcc-g++ gcc-fortran liblapack-devel libopenblas libmpfr-devel ccache swig libmpc-devel | |
libumfpack-devel libsliplu-devel libldl-devel libklu-devel libcxsparse-devel libcholmod-devel libamd-devel | |
python39-devel python39-pip python39-setuptools python39-wheel python39-numpy python39-cython | |
python39-pytest | |
meson ninja cmake make git | |
- name: Fix git config | |
shell: bash.exe -eo pipefail -o igncr "{0}" | |
run: /usr/bin/git config --system --add safe.directory /cygdrive/d/a/*/scipy | |
- name: pip cache | |
uses: actions/cache@v4 | |
with: | |
path: 'C:\cygwin\home\runneradmin\.cache\pip' | |
key: ${{ runner.os }}-cygwin-pip3.9-${{ hashFiles('.github/workflows/cygwin.yml') }} | |
restore-keys: | | |
${{ runner.os }}-cygwin-pip3.9- | |
- name: Install Python dependencies | |
shell: bash.exe -eo pipefail -o igncr "{0}" | |
run: | | |
mkdir builds | |
cd builds | |
python3.9 -m pip install --upgrade pip 'setuptools<60' wheel | |
python3.9 -m pip install --upgrade numpy cython pytest pytest-xdist pytest-timeout pybind11 | |
python3.9 -m pip install --upgrade mpmath gmpy2 pythran threadpoolctl pooch click doit rich-click pydevtool | |
python3.9 -m pip uninstall -y nose | |
cd .. | |
- name: Check NumPy import | |
shell: bash.exe -eo pipefail -o igncr "{0}" | |
run: /usr/bin/env PATH="/bin:/usr/bin:/usr/local/bin:/usr/lib/lapack" python3.9 -c "import numpy as np; print(np.__version__)" | |
- name: Building SciPy | |
shell: bash.exe -eo pipefail -o igncr "{0}" | |
run: /usr/bin/env PATH="/bin:/usr/bin:/usr/local/bin:/usr/lib/lapack" python3.9 -u dev.py build --show-build-log | |
- name: Check SciPy installs | |
shell: bash.exe -eo pipefail -o igncr "{0}" | |
if: false | |
run: /usr/bin/env PATH="/bin:/usr/bin:/usr/local/bin:/usr/lib/lapack" python3.9 -m pip install -e . | |
- name: Testing SciPy | |
shell: bash.exe -eo pipefail -o igncr "{0}" | |
run: | | |
/usr/bin/env PATH="/bin:/usr/bin:/usr/local/bin:/usr/lib/lapack" python3.9 -u dev.py test --durations=10 -j2 -m fast -b numpy -- -rfEX --timeout=60 2>&1 | tee runtests.log | |
python3.8 tools/validate_runtests_log.py fast < runtests.log |