Skip to content

Commit 1ecfee2

Browse files
authored
Merge pull request #5788 from martin-frbg/move-cirrus-neoversen1-jobs
CI: Move NeoverseN1 jobs from deprecated Cirrus to gh workflows
2 parents d482456 + 75791e4 commit 1ecfee2

2 files changed

Lines changed: 140 additions & 88 deletions

File tree

.cirrus.yml

Lines changed: 89 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
macos_instance:
2-
image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
3-
1+
#macos_instance:
2+
# image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
3+
#
44
#task:
55
# name: AppleM1/LLVM
66
# compile_script:
@@ -9,7 +9,7 @@ macos_instance:
99
# - export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
1010
# - export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
1111
# - make TARGET=VORTEX USE_OPENMP=1 CC=clang
12-
12+
#
1313
#task:
1414
# name: AppleM1/LLVM/ILP64
1515
# compile_script:
@@ -18,7 +18,7 @@ macos_instance:
1818
# - export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
1919
# - export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
2020
# - make TARGET=VORTEX USE_OPENMP=1 CC=clang INTERFACE64=1
21-
21+
#
2222
#task:
2323
# name: AppleM1/LLVM/CMAKE
2424
# compile_script:
@@ -30,7 +30,7 @@ macos_instance:
3030
# - cd build
3131
# - cmake -DTARGET=VORTEX -DCMAKE_C_COMPILER=clang -DBUILD_SHARED_LIBS=ON ..
3232
# - make -j 4
33-
33+
#
3434
#task:
3535
# name: AppleM1/GCC/MAKE/OPENMP
3636
# compile_script:
@@ -39,92 +39,93 @@ macos_instance:
3939
# - export LDFLAGS="-L/opt/homebrew/lib"
4040
# - export CPPFLAGS="-I/opt/homebrew/include"
4141
# - make CC=gcc-11 FC=gfortran-11 USE_OPENMP=1
42-
43-
macos_instance:
44-
image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
45-
task:
46-
name: AppleM1/LLVM x86_64 xbuild
47-
compile_script:
48-
- #brew install llvm
49-
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
50-
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
51-
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
52-
- export ARCHS="i386 x86_64"
53-
- export ARCHS_STANDARD="i386 x86_64"
54-
- export ARCHS_STANDARD_32_64_BIT="i386 x86_64"
55-
- export ARCHS_STANDARD_64_BIT=x86_64
56-
- export ARCHS_STANDARD_INCLUDING_64_BIT="i386 x86_64"
57-
- export ARCHS_UNIVERSAL_IPHONE_OS="i386 x86_64"
58-
- export VALID_ARCHS="i386 x86_64"
59-
- xcrun --sdk macosx --show-sdk-path
60-
- xcodebuild -version
61-
- export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -arch x86_64"
63-
- make TARGET=CORE2 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
64-
always:
65-
config_artifacts:
66-
path: "*conf*"
67-
type: text/plain
42+
#
43+
#macos_instance:
44+
# image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
45+
#task:
46+
# name: AppleM1/LLVM x86_64 xbuild
47+
# compile_script:
48+
# - #brew install llvm
49+
# - export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
50+
# - export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
51+
# - export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
52+
# - export ARCHS="i386 x86_64"
53+
# - export ARCHS_STANDARD="i386 x86_64"
54+
# - export ARCHS_STANDARD_32_64_BIT="i386 x86_64"
55+
# - export ARCHS_STANDARD_64_BIT=x86_64
56+
# - export ARCHS_STANDARD_INCLUDING_64_BIT="i386 x86_64"
57+
# - export ARCHS_UNIVERSAL_IPHONE_OS="i386 x86_64"
58+
# - export VALID_ARCHS="i386 x86_64"
59+
# - xcrun --sdk macosx --show-sdk-path
60+
# - xcodebuild -version
61+
# - export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62+
# - export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -arch x86_64"
63+
# - make TARGET=CORE2 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
64+
# always:
65+
# config_artifacts:
66+
# path: "*conf*"
67+
# type: text/plain
6868
# lib_artifacts:
6969
# path: "libopenblas*"
7070
# type: application/octet-streamm
71+
#
72+
#macos_instance:
73+
# image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
74+
#task:
75+
# name: AppleM1/LLVM armv8-ios xbuild
76+
# compile_script:
77+
# - #brew install llvm
78+
# - export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
79+
# - export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
80+
# - export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
81+
# - export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82+
# - export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk -arch arm64 -miphoneos-version-min=10.0"
83+
# - xcrun --sdk iphoneos --show-sdk-path
84+
# - ls -l /Applications
85+
# - make TARGET=ARMV8 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 CROSS=1
86+
# always:
87+
# config_artifacts:
88+
# path: "*conf*"
89+
# type: text/plain
90+
#
91+
#macos_instance:
92+
# image: ghcr.io/cirruslabs/macos-tahoe-xcode:latest
93+
#task:
94+
# name: AppleM1/LLVM armv7-androidndk xbuild
95+
# compile_script:
96+
# - brew install --cask android-ndk
97+
# - export ANDROID_NDK_HOME="/opt/homebrew/share/android-ndk"
98+
# - export CC=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi23-clang
99+
# - export AR=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar
100+
# - export RANLIB=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib
101+
# - make TARGET=ARMV7 ARM_SOFTFP_ABI=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1
102+
# always:
103+
# config_artifacts:
104+
# path: "*conf*"
105+
# type: text/plain
106+
#
107+
#task:
108+
# name: NeoverseN1
109+
# arm_container:
110+
# image: node:latest
111+
# compile_script:
112+
# - make
113+
#
114+
# task:
115+
# name: NeoverseN1-ILP64
116+
# arm_container:
117+
# image: node:latest
118+
# compile_script:
119+
# - make INTERFACE64=1
120+
#
121+
#task:
122+
# name: NeoverseN1-OMP
123+
# arm_container:
124+
# image: node:latest
125+
# cpu: 8
126+
# compile_script:
127+
# - make USE_OPENMP=1
71128

72-
macos_instance:
73-
image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
74-
task:
75-
name: AppleM1/LLVM armv8-ios xbuild
76-
compile_script:
77-
- #brew install llvm
78-
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
79-
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
80-
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
81-
- export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk -arch arm64 -miphoneos-version-min=10.0"
83-
- xcrun --sdk iphoneos --show-sdk-path
84-
- ls -l /Applications
85-
- make TARGET=ARMV8 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 CROSS=1
86-
always:
87-
config_artifacts:
88-
path: "*conf*"
89-
type: text/plain
90-
91-
macos_instance:
92-
image: ghcr.io/cirruslabs/macos-tahoe-xcode:latest
93-
task:
94-
name: AppleM1/LLVM armv7-androidndk xbuild
95-
compile_script:
96-
- brew install --cask android-ndk
97-
- export ANDROID_NDK_HOME="/opt/homebrew/share/android-ndk"
98-
- export CC=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi23-clang
99-
- export AR=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar
100-
- export RANLIB=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib
101-
- make TARGET=ARMV7 ARM_SOFTFP_ABI=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1
102-
always:
103-
config_artifacts:
104-
path: "*conf*"
105-
type: text/plain
106-
107-
task:
108-
name: NeoverseN1
109-
arm_container:
110-
image: node:latest
111-
compile_script:
112-
- make
113-
114-
task:
115-
name: NeoverseN1-ILP64
116-
arm_container:
117-
image: node:latest
118-
compile_script:
119-
- make INTERFACE64=1
120-
121-
task:
122-
name: NeoverseN1-OMP
123-
arm_container:
124-
image: node:latest
125-
cpu: 8
126-
compile_script:
127-
- make USE_OPENMP=1
128129

129130
FreeBSD_task:
130131
name: FreeBSD-gcc

.github/workflows/dynamic_arch.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,4 +404,55 @@ jobs:
404404
make -j${nproc}
405405
make -j${nproc} lapack-test
406406
407+
neoverse_n1_build:
408+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
409+
runs-on: ubuntu-24.04-arm
410+
411+
steps:
412+
- name: Checkout repository
413+
uses: actions/checkout@v6
414+
415+
- name: Install Dependencies
416+
run: |
417+
sudo apt-get update
418+
sudo apt-get install -y gcc gfortran make
419+
420+
- name: Build OpenBLAS
421+
run: |
422+
make -j${nproc} TARGET=NEOVERSEN1
423+
make -j${nproc} TARGET=NEOVERSEN1 lapack-test
424+
425+
neoverse_n1_omp_build:
426+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
427+
runs-on: ubuntu-24.04-arm
428+
429+
steps:
430+
- name: Checkout repository
431+
uses: actions/checkout@v6
407432

433+
- name: Install Dependencies
434+
run: |
435+
sudo apt-get update
436+
sudo apt-get install -y gcc gfortran make
437+
438+
- name: Build OpenBLAS
439+
run: |
440+
make -j${nproc} TARGET=NEOVERSEN1 USE_OPENMP=1
441+
442+
neoverse_n1_ilp64_build:
443+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
444+
runs-on: ubuntu-24.04-arm
445+
446+
steps:
447+
- name: Checkout repository
448+
uses: actions/checkout@v6
449+
450+
- name: Install Dependencies
451+
run: |
452+
sudo apt-get update
453+
sudo apt-get install -y gcc gfortran make
454+
455+
- name: Build OpenBLAS
456+
run: |
457+
make -j${nproc} TARGET=NEOVERSEN1 INTERFACE64=1
458+
make -j${nproc} TARGET=NEOVERSEN1 INTERFACE64=1 lapack-test

0 commit comments

Comments
 (0)