16
16
# │ │ │ │ │
17
17
- cron : " 0 2 * * 0"
18
18
19
- env :
20
- PIP_ONLY_BINARY : numpy
21
- FORCE_COLOR : 3
22
- PYTEST_TIMEOUT : 300
23
19
24
20
jobs :
25
21
# This is the "main" test suite, which tests a large number of different
@@ -28,41 +24,45 @@ jobs:
28
24
strategy :
29
25
fail-fast : false
30
26
matrix :
31
- runs-on : [ubuntu-latest, windows-2022, macos-latest]
32
- python :
33
- - ' pypy-3.10-nightly'
34
- - ' pypy-3.9-nightly'
27
+ os : ['ubuntu-latest', 'ubuntu-latest', 'ubuntu-latest', 'ubuntu-latest']
28
+ python : ['pypy3.9-v7.3.15', 'pypy3.10-v7.3.15', 'pypy3.9-v7.3.15', 'pypy3.10-v7.3.15', 'pypy3.9-v7.3.15', 'pypy3.10-v7.3.15', 'pypy3.9-v7.3.15', 'pypy3.10-v7.3.15']
35
29
36
-
37
- name : " nanobind ${{ matrix.python }} • ${{ matrix.runs-on }} x64 ${{ matrix.args }}"
38
- runs-on : ${{ matrix.runs-on }}
30
+ name : " Python ${{ matrix.python }} / ${{ matrix.os }}"
31
+ runs-on : ${{ matrix.os }}
39
32
40
33
steps :
41
- - uses : actions/checkout@v4.1.1
34
+ - uses : actions/checkout@v4
42
35
with :
43
36
repository : wjakob/nanobind
44
- submodules : recursive
37
+ submodules : true
45
38
46
39
- name : Setup Python ${{ matrix.python }}
47
- uses : actions/setup-python@v5.0.0
40
+ uses : actions/setup-python@v5
48
41
with :
49
42
python-version : ${{ matrix.python }}
43
+ cache : ' pip'
44
+
45
+ - name : Install the latest CMake
46
+ uses : lukka/get-cmake@latest
50
47
51
- - name : Update CMake
52
-
48
+ - name : Install Eigen
49
+ if : matrix.os == 'ubuntu-latest'
50
+ run : sudo apt-get -y install libeigen3-dev
53
51
54
- - name : Install dependencies
55
- run : python -m pip install pytest typing-extensions
52
+ - name : Install PyTest
53
+ run : |
54
+ python -m pip install pytest pytest-github-actions-annotate-failures typing_extensions
56
55
57
- - name : Setup annotations on Linux
58
- if : runner.os == 'Linux'
59
- run : python -m pip install pytest-github-actions-annotate-failures
56
+ - name : Install NumPy
57
+ if : ${{ !startsWith(matrix.python, 'pypy') && !contains(matrix.python, 'alpha') }}
58
+ run : |
59
+ python -m pip install numpy scipy
60
60
61
- - name : Configure ${{ matrix.args }}
61
+ - name : Configure
62
62
run : >
63
- cmake -S . -B build ${{ matrix.args }}
63
+ cmake -S . -B build -DNB_TEST_STABLE_ABI=ON -DNB_TEST_SHARED_BUILD="$(python3 -c 'import sys; print(int(sys.version_info.minor>=11))')"
64
64
65
- - name : Build
65
+ - name : Build C++
66
66
run : cmake --build build -j 2
67
67
68
68
- name : Run tests
0 commit comments