Skip to content

WIP: do not merge

WIP: do not merge #4

Workflow file for this run

name: Windows tests
on:
push:
branches:
- maintenance/**
pull_request:
branches:
- main
- maintenance/**
permissions:
contents: read # to fetch code (actions/checkout)
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
get_commit_message:
name: Get commit message
uses: ./.github/workflows/commit_message.yml
test:
name: cp310 (meson) fast
needs: get_commit_message
# Ensure (a) this doesn't run on forks by default, and
# (b) it does run with Act locally (`github` doesn't exist there)
if: >
needs.get_commit_message.outputs.message == 1
&& (github.repository == 'scipy/scipy' || github.repository == '')
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
architecture: 'x64'
cache: 'pip'
cache-dependency-path: 'environment.yml'
- name: Install rtools (mingw-w64)
run: |
choco install rtools -y --no-progress --force --version=4.0.0.20220206
echo "c:\rtools40\ucrt64\bin;" >> $env:GITHUB_PATH
- name: pip-packages
run: |
pip install numpy==1.22.4 cython pybind11 pythran meson ninja pytest pytest-xdist pytest-timeout pooch rich_click click doit pydevtool hypothesis "scipy-openblas32<=0.3.23.293.2"
- name: Build
run: |
echo "SCIPY_USE_PROPACK=1" >> $env:GITHUB_ENV
python dev.py build --with-scipy-openblas
- name: Test
run: |
python dev.py test -j2
#############################################################################
full_dev_py_min_numpy:
name: cp39 (meson) full, dev.py, minimum numpy
needs: get_commit_message
if: >
needs.get_commit_message.outputs.message == 1
&& (github.repository == 'scipy/scipy' || github.repository == '')
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
cache-dependency-path: 'environment.yml'
- name: Install rtools (mingw-w64)
run: |
choco install rtools -y --no-progress --force --version=4.0.0.20220206
echo "c:\rtools40\ucrt64\bin;" >> $env:GITHUB_PATH
- name: pip-packages
run: |
# 1.22.4 is currently the oldest numpy usable on cp3.9 according
# to pyproject.toml
python -m pip install numpy==1.22.4 cython pybind11 pythran meson-python meson ninja pytest pytest-xdist pytest-timeout pooch rich_click click doit pydevtool hypothesis "scipy-openblas32<=0.3.23.293.2"
- name: Build
run: |
python dev.py build --with-scipy-openblas
- name: Test
run: |
python dev.py test -j2 --mode full
#############################################################################
full_build_sdist_wheel:
# TODO: enable ILP64 once possible
name: cp311 (build sdist + wheel), full, no pythran
needs: get_commit_message
if: >
needs.get_commit_message.outputs.message == 1
&& (github.repository == 'scipy/scipy' || github.repository == '')
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
cache: 'pip'
cache-dependency-path: 'environment.yml'
- name: Win_amd64 - install rtools
run: |
# mingw-w64
choco install rtools -y --no-progress --force --version=4.0.0.20220206
echo "c:\rtools40\ucrt64\bin;" >> $env:GITHUB_PATH
- name: Install OpenBLAS
shell: bash
run: |
# Keep this using the OpenBLAS tarballs for now, as long as we use those for wheel builds
set -xe
bash tools/wheels/cibw_before_build_win.sh .
echo "PKG_CONFIG_PATH=c:\opt\64\lib\pkgconfig;" >> $GITHUB_ENV
- name: pip-packages
run: |
python -m pip install build delvewheel numpy cython pybind11 meson-python meson ninja pytest pytest-xdist pytest-timeout pooch hypothesis
- name: Build
run: |
python -m build -Csetup-args="-Duse-pythran=false"
# Vendor openblas.dll and the DLL's it depends on into the wheel
$env:wheel_name=Get-ChildItem -Path dist/* -Include *.whl
delvewheel repair --add-path c:\opt\openblas\openblas_dll -w dist $env:wheel_name
python -m pip install $env:wheel_name
- name: Test
run: |
cd $RUNNER_TEMP
# run full test suite
pytest --pyargs scipy