forked from scipy/scipy
-
Notifications
You must be signed in to change notification settings - Fork 0
145 lines (122 loc) · 4.57 KB
/
windows.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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:
test:
name: cp310 (meson) fast
# Ensure (a) this doesn't run on forks by default, and
# (b) it does run with Act locally (`github` doesn't exist there)
if: "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!=3.0.3 pybind11 pythran meson ninja pytest pytest-xdist pytest-timeout pooch rich_click click doit pydevtool hypothesis scipy-openblas32
- name: Build
run: |
echo "SCIPY_USE_PROPACK=1" >> $env:GITHUB_ENV
python dev.py build --use-scipy-openblas
- name: Test
run: |
python dev.py test -j2
#############################################################################
full_dev_py_min_numpy:
name: cp39 (meson) full, dev.py, minimum numpy
if: "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!=3.0.3 pybind11 pythran meson-python meson ninja pytest pytest-xdist pytest-timeout pooch rich_click click doit pydevtool hypothesis scipy-openblas32
- name: Build
run: |
python dev.py build --use-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
if: "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!=3.0.3 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