@@ -13,96 +13,23 @@ jobs:
13
13
strategy :
14
14
fail-fast : false
15
15
matrix :
16
- os : ["ubuntu-20.04", "ubuntu-latest", "macos-latest"]
17
- compiler : [gcc-7, gcc-9, clang]
18
- python-version : ["3.9", "3.12"]
19
- numpy-version : ["1.20", "2.0.1"]
20
-
21
16
include :
22
- - numpy-version : " 1.23"
23
- compiler : gcc-10
24
- python-version : " 3.10"
25
- os : ubuntu-latest
26
-
27
- - numpy-version : " 1.23"
28
- compiler : gcc-11
29
- python-version : " 3.10"
30
- os : ubuntu-latest
31
-
32
- - numpy-version : " 1.23"
33
- compiler : gcc-10
34
- python-version : " 3.10"
35
- os : ubuntu-latest
36
-
37
- - numpy-version : " 1.23"
38
- compiler : gcc-11
39
- python-version : " 3.10"
40
- os : ubuntu-latest
41
-
42
- - numpy-version : " 1.23"
43
- compiler : gcc-10
44
- python-version : " 3.11"
45
- os : ubuntu-latest
46
-
47
- - numpy-version : " 1.23"
48
- compiler : gcc-11
49
- python-version : " 3.11"
50
- os : ubuntu-latest
51
-
52
- - numpy-version : " 1.23"
53
- compiler : gcc-12
54
- python-version : " 3.11"
55
- os : ubuntu-latest
56
-
57
- - numpy-version : " 1.23"
58
- compiler : gcc-10
59
- python-version : " 3.11"
60
- os : ubuntu-latest
61
-
62
- - numpy-version : " 1.23"
63
- compiler : gcc-11
64
- python-version : " 3.11"
65
- os : ubuntu-latest
66
-
67
- - numpy-version : " 1.23"
68
- compiler : gcc-12
69
- python-version : " 3.11"
70
- os : ubuntu-latest
71
-
72
- exclude :
73
- # Only run with 'clang' on OSX
74
- - os : " macos-latest"
75
- compiler : gcc-7
76
- - os : " macos-latest"
77
- compiler : gcc-9
78
-
79
- # Don't use 'clang' on linux
80
- - os : " ubuntu-20.04"
17
+ - os : ubuntu-24.04
18
+ compiler : gcc
19
+ python-version : 3.9
20
+ numpy-version : 1
21
+ - os : ubuntu-24.04
22
+ compiler : gcc
23
+ python-version : 3.13
24
+ numpy-version : 2
25
+ - os : macos-14
81
26
compiler : clang
82
- - os : " ubuntu-latest"
27
+ python-version : 3.9
28
+ numpy-version : 1
29
+ - os : macos-14
83
30
compiler : clang
84
-
85
- # only gcc-10 on latest
86
- - os : " ubuntu-latest"
87
- compiler : gcc-9
88
- - os : " ubuntu-latest"
89
- compiler : gcc-7
90
-
91
- # Only use latest numpy on ubuntu-latest
92
- - os : " ubuntu-latest"
93
- numpy-version : 1.20
94
-
95
- # python3.10 only on ubuntu-latest
96
- # - os: "ubuntu-20.04"
97
- # python-version: "3.10"
98
- # - os: "macos-latest"
99
- # python-version: "3.10"
100
-
101
- - python-version : " 3.9"
102
- numpy-version : " 2.0.1"
103
-
104
- - python-version : " 3.12"
105
- numpy-version : " 1.20"
31
+ python-version : 3.13
32
+ numpy-version : 2
106
33
107
34
env :
108
35
CC : ${{ matrix.compiler }}
@@ -116,32 +43,16 @@ jobs:
116
43
uses : conda-incubator/setup-miniconda@v3
117
44
with :
118
45
auto-update-conda : true
46
+ miniforge-version : latest
47
+ conda-remove-defaults : true
119
48
auto-activate-base : false
120
- miniconda-version : ' latest'
121
- python-version : ${{ matrix.python-version }}
122
-
123
- # This was needed on 18.04 but not on 20.04
124
- # - name: Install binutils on linux
125
- # shell: bash -l {0}
126
- # if: matrix.os == 'ubuntu-18.04'
127
- # run: |
128
- # sudo apt-get update
129
- # sudo apt-get install binutils
130
-
131
- - name : Install gcc-7 on ubuntu-20.04
132
- shell : bash -l {0}
133
- if : matrix.os == 'ubuntu-20.04'
134
- run : |
135
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test
136
- sudo apt-get update
137
- sudo apt-get install gcc-7
49
+ activate-environment : " "
138
50
139
51
- name : Install dependencies
140
52
shell : bash -l {0}
141
53
run : |
142
- conda create -q --yes - n test python=${{ matrix.python-version }} nomkl
54
+ conda create -n test python=${{ matrix.python-version }} numpy=${{ matrix.numpy-version }} nomkl gsl
143
55
conda activate test
144
- conda install -q --yes -c conda-forge numpy=${{ matrix.numpy-version }} gsl
145
56
146
57
- name : Display PATH, compiler, python
147
58
shell : bash -l {0}
@@ -156,48 +67,56 @@ jobs:
156
67
echo `${{ matrix.compiler }} -dM -E - -march=native`
157
68
158
69
- name : lscpu on Linux
159
- if : matrix.os != 'macos-latest '
70
+ if : matrix.os != 'macos-14 '
160
71
run : |
161
72
lscpu
162
73
163
74
- name : sysctl machdep.cpu on OSX
164
- if : matrix.os == 'macos-latest '
75
+ if : matrix.os == 'macos-14 '
165
76
run : |
166
77
sysctl machdep.cpu
167
78
168
- # - name: Add linker flag to OSX + gcc
169
- # shell: bash -l {0}
170
- # if: matrix.os == 'osx-latest' && startswith(matrix.compiler, 'gcc')
171
- # run: export CLINK = '-lgomp'
172
-
173
79
- name : compile
174
80
shell : bash -l {0}
175
- run : make -r CC=${{ matrix.compiler }}
81
+ run : |
82
+ conda activate test
83
+ make -r CC=${{ matrix.compiler }}
176
84
177
85
- name : install
178
86
shell : bash -l {0}
179
- run : make install CC=${{ matrix.compiler }}
87
+ run : |
88
+ conda activate test
89
+ make install CC=${{ matrix.compiler }}
180
90
181
91
- name : compile and install python extensions
182
92
shell : bash -l {0}
183
93
run : |
94
+ conda activate test
184
95
echo "CC = " $CC
185
96
export CC=${{ matrix.compiler }}
186
97
python -m pip install -e .
187
98
188
99
- name : tests
189
100
shell : bash -l {0}
190
- run : make tests CC=${{ matrix.compiler }}
101
+ run : |
102
+ conda activate test
103
+ make tests CC=${{ matrix.compiler }}
191
104
192
105
- name : doctests
193
106
shell : bash -l {0}
194
- if : matrix.os == 'ubuntu-latest ' && matrix.python-version == '3.10 ' && matrix.numpy-version == '1.16 '
107
+ if : matrix.os == 'ubuntu-24.04 ' && matrix.python-version == '3.13 ' && matrix.numpy-version == '2 '
195
108
run : |
109
+ conda activate test
196
110
python -m pip install 'sphinx>=1.8'
197
111
make -C docs doctest
198
112
199
113
- name : Python tests
200
114
shell : bash -l {0}
201
115
run : |
116
+ conda activate test
117
+ if [ "${{ matrix.os }}" = "macos-14" ]; then
118
+ # We currently don't build with OpenMP on MacOS in CI
119
+ export CORRFUNC_PYTEST_MAX_THREADS=1
120
+ fi
202
121
python -m pip install pytest
203
122
python -m pytest -v
0 commit comments