mirror of
https://github.com/OpenMathLib/OpenBLAS
synced 2026-05-31 00:45:48 +08:00
83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
name: Windows ARM64 CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
- release-**
|
|
pull_request:
|
|
branches:
|
|
- develop
|
|
- release-**
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
jobs:
|
|
build:
|
|
if: "github.repository == 'OpenMathLib/OpenBLAS'"
|
|
runs-on: windows-11-arm
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install LLVM for Win-ARM64
|
|
shell: pwsh
|
|
run: |
|
|
Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.6/LLVM-20.1.6-woa64.exe -UseBasicParsing -OutFile LLVM-woa64.exe
|
|
Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
|
|
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
|
|
|
- name: Install CMake and Ninja for Win-ARM64
|
|
shell: pwsh
|
|
run: |
|
|
Invoke-WebRequest https://github.com/Kitware/CMake/releases/download/v3.29.4/cmake-3.29.4-windows-arm64.msi -OutFile cmake-arm64.msi
|
|
Start-Process msiexec.exe -ArgumentList "/i cmake-arm64.msi /quiet /norestart" -Wait
|
|
echo "C:\Program Files\CMake\bin" >> $env:GITHUB_PATH
|
|
|
|
Invoke-WebRequest https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-winarm64.zip -OutFile ninja-winarm64.zip
|
|
Expand-Archive ninja-winarm64.zip -DestinationPath ninja
|
|
Copy-Item ninja\ninja.exe -Destination "C:\Windows\System32"
|
|
|
|
- name: Configure OpenBLAS
|
|
shell: cmd
|
|
run: |
|
|
CALL "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsarm64.bat"
|
|
mkdir build
|
|
cd build
|
|
cmake .. -G Ninja ^
|
|
-DCMAKE_BUILD_TYPE=Release ^
|
|
-DTARGET=ARMV8 ^
|
|
-DBINARY=64 ^
|
|
-DCMAKE_C_COMPILER=clang-cl ^
|
|
-DCMAKE_Fortran_COMPILER=flang-new ^
|
|
-DBUILD_SHARED_LIBS=ON ^
|
|
-DCMAKE_SYSTEM_PROCESSOR=arm64 ^
|
|
-DCMAKE_SYSTEM_NAME=Windows ^
|
|
-DCMAKE_INSTALL_PREFIX=C:/opt
|
|
|
|
- name: Build OpenBLAS
|
|
shell: cmd
|
|
run: |
|
|
cd build
|
|
ninja -j16
|
|
|
|
- name: Install OpenBLAS
|
|
shell: cmd
|
|
run: |
|
|
cd build
|
|
cmake --install .
|
|
|
|
- name: Run ctests
|
|
shell: pwsh
|
|
run: |
|
|
$env:PATH = "C:\opt\bin;$env:PATH"
|
|
cd build
|
|
ctest
|
|
|
|
|