@@ -2,14 +2,16 @@ name: tests
22
33on :
44 push :
5- # tags-ignore:
6- # - '**'
7- paths-ignore :
8- - " *.md"
5+ branches : [main]
96 pull_request :
10- types : [opened, synchronize, reopened, edited]
11- paths-ignore :
12- - " *.md"
7+ branches : ["*"]
8+ workflow_dispatch : # allows you to trigger manually
9+
10+ # When this workflow is queued, automatically cancel any previous running
11+ # or pending jobs from the same branch
12+ concurrency :
13+ group : tests-${{ github.ref }}
14+ cancel-in-progress : true
1315
1416env :
1517 MODULE_NAME : ' blis'
@@ -20,10 +22,26 @@ jobs:
2022 name : Test
2123 if : github.repository_owner == 'explosion'
2224 strategy :
23- fail-fast : true
25+ fail-fast : false
2426 matrix :
25- os : [ubuntu-latest, windows-2022]
26- python_version : ["3.9", "3.10", "3.11", "3.12"]
27+ os :
28+ - ubuntu-latest # x64
29+ - ubuntu-24.04-arm # ARM
30+ - macos-15-intel # x64
31+ - macos-latest # ARM
32+ - windows-latest # x64
33+ python_version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
34+ cc : ['']
35+ include :
36+ # Note: default compiler for Linux is gcc. cibuildwheel uses gcc.
37+ # FIXME: clang crashes on ARM Linux
38+ - os : ubuntu-latest
39+ python_version : " 3.10"
40+ cc : clang
41+ - os : ubuntu-latest
42+ python_version : " 3.14"
43+ cc : clang
44+
2745 runs-on : ${{ matrix.os }}
2846
2947 steps :
3452 uses : actions/setup-python@v6
3553 with :
3654 python-version : ${{ matrix.python_version }}
37- architecture : x64
3855
3956 # Install LLVM 18 on Windows
4057 - name : Install LLVM 18 on Windows
5269 run : |
5370 dir "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build" /b
5471
55- set "PATH=C:\\Program Files\\LLVM\\bin;%PATH%"
56- set "AR=llvm-ar"
57- set "AS=llvm-as"
58- set "CC=clang"
59- set "RANLIB=echo"
60- call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64
61- clang --version
62- python -m build --wheel
63- shell : cmd
64- - name : Build wheel (Windows)
65- if : startsWith(matrix.os, 'windows')
66- run : |
6772 set "PATH=C:\Program Files\LLVM\bin;%PATH%"
6873 set "AR=llvm-ar"
6974 set "AS=llvm-as"
@@ -76,42 +81,22 @@ jobs:
7681
7782 - name : Build wheel (Mac)
7883 if : startsWith(matrix.os, 'macos')
79- run : |
80- python -m build --wheel
81-
82- - name : Build wheel (Linux / clang)
83- if : startsWith(matrix.os, 'ubuntu') && matrix.python_version == '3.6'
8484 run : |
8585 clang --version
86- CC=clang python -m build --wheel
86+ python -m build --wheel
8787
88- - name : Build wheel (Linux / gcc-9 )
89- if : startsWith(matrix.os, 'ubuntu') && ( matrix.python_version == '3.7' || matrix.python_version == '3.8')
88+ - name : Build wheel (Linux / gcc)
89+ if : startsWith(matrix.os, 'ubuntu') && matrix.cc == ''
9090 run : |
91- sudo apt update
92- sudo apt install gcc-9
93- gcc-9 --version
94- CC=gcc-9 python -m build --wheel
91+ gcc --version
92+ python -m build --wheel
9593
96- - name : Build wheel (Linux / gcc-10)
97- if : startsWith(matrix.os, 'ubuntu') && matrix.python_version == '3.9'
98- run : |
99- sudo apt update
100- sudo apt install gcc-10
101- gcc-10 --version
102- CC=gcc-10 python -m build --wheel
103- - name : Build wheel (Linux / clang-13)
104- if : startsWith(matrix.os, 'ubuntu') && matrix.python_version == '3.10'
94+ - name : Build wheel (Linux / clang)
95+ if : startsWith(matrix.os, 'ubuntu') && matrix.cc == 'clang'
10596 run : |
10697 clang --version
10798 CC=clang python -m build --wheel
10899
109- - name : Build wheel (Linux / gcc)
110- if : startsWith(matrix.os, 'ubuntu') && (matrix.python_version == '3.11' || matrix.python_version == '3.12')
111- run : |
112- gcc --version
113- CC=gcc python -m build --wheel
114-
115100 # TODO: install mypy from requirements if reenabled
116101 - name : Run mypy
117102 shell : bash
0 commit comments