@@ -12,24 +12,26 @@ permissions:
1212jobs :
1313 build :
1414 if : " github.repository == 'OpenMathLib/OpenBLAS' || github.event_name == 'workflow_dispatch'"
15- runs-on : ${{ matrix.os }}
15+ name : " ${{ matrix.os }}, ${{ matrix.cc }}, ${{ matrix.fortran }}, ${{ matrix.build }}"
16+ runs-on : ${{ matrix.runner }}
1617
1718 strategy :
1819 fail-fast : false
1920 matrix :
20- os : [ubuntu-latest, macos-latest, ubuntu-24.04-arm ]
21+ os : [linux-x64, linux-aarch64 ]
2122 cc : [gcc, clang, clang-21]
22- fortran : [gfortran, flang]
23+ fortran : [gfortran, flang, flang-21 ]
2324 build : [cmake, make]
25+ include :
26+ - {os: linux-x64, runner: ubuntu-latest}
27+ - {os: linux-aarch64, runner: ubuntu-24.04-arm}
28+ - {os: macos-arm64, cc: clang, fortran: gfortran, build: cmake, runner: macos-latest}
29+ - {os: macos-latest, cc: clang, fortran: gfortran, build: make, runner: macos-latest}
2430 exclude :
25- - os : macos-latest
26- cc : gcc
27- - os : macos-latest
28- cc : clang-21
29- - os : macos-latest
30- fortran : flang
31- - os : ubuntu-24.04-arm
31+ - os : linux-aarch64
3232 fortran : flang
33+ - fortran : flang-21
34+ cc : clang
3335
3436 steps :
3537 - name : Checkout repository
@@ -55,12 +57,15 @@ jobs:
5557 EOF
5658 sudo apt-get update
5759 sudo apt-get install -y ccache
58- if [ "${{ matrix.cc }}" == "clang-21" ]; then
60+ if [ "${{ matrix.cc }}" == "clang-21" ] || [ "${{ matrix.fortran }}" == "flang-21" ] ; then
5961 wget https://apt.llvm.org/llvm.sh
6062 chmod +x llvm.sh
6163 sudo ./llvm.sh 21
64+ sudo apt-get install -y libclang-rt-21-dev
6265 fi
6366 if [ "${{ matrix.fortran }}" == "flang" ]; then
67+ # download and install classic flang
68+ curl -fsSL https://github.com/flang-compiler/flang/releases/download/flang_20190329/flang-20190329-x86-70.tgz | sudo tar -C /usr -xz
6469 wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
6570 sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
6671 else
@@ -120,14 +125,6 @@ jobs:
120125
121126 - name : Build OpenBLAS
122127 run : |
123- if [ "${{ matrix.fortran }}" = "flang" ]; then
124- # download and install classic flang
125- cd /usr/
126- sudo wget -nv https://github.com/flang-compiler/flang/releases/download/flang_20190329/flang-20190329-x86-70.tgz
127- sudo tar xf flang-20190329-x86-70.tgz
128- sudo rm flang-20190329-x86-70.tgz
129- cd -
130- fi
131128 case "${{ matrix.build }}" in
132129 "make")
133130 make -j$(nproc) DYNAMIC_ARCH=1 USE_OPENMP=0 CC="ccache ${{ matrix.cc }}" FC="ccache ${{ matrix.fortran }}"
0 commit comments