Some fixes for MinGW-w64. #20
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |