Skip to content

Commit ef6df82

Browse files
committed
upd
1 parent 2dcc1c4 commit ef6df82

3 files changed

Lines changed: 89 additions & 4 deletions

File tree

.github/workflows/clang-cl-arm64.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@ jobs:
1414

1515
steps:
1616
- name: Configure git
17+
# mtr will spit random errors, if we don't do that
1718
run: |
18-
# Nope, we won't be able to successfully run test
19-
# if you do not configure that freaking autocrlf
2019
git config --global core.autocrlf input
2120
2221
- uses: actions/checkout@v4
@@ -31,7 +30,6 @@ jobs:
3130
choco install winflexbison3 ninja
3231
3332
- name: Install Latest LLVM (manual installer)
34-
shell: pwsh
3533
run: |
3634
$llvmVersion = "20.1.5" # Replace with latest stable version
3735
$url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-$llvmVersion/LLVM-$llvmVersion-woa64.exe"
@@ -49,7 +47,11 @@ jobs:
4947
cd bld
5048
set PATH=C:\LLVM\bin;%PATH%
5149
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" arm64
52-
cmake .. -DWITH_SSL=bundled -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -GNinja -DCMAKE_SYSTEM_PROCESSOR=ARM64 -DCMAKE_C_COMPILER_TARGET=arm64-windows-msvc -DCMAKE_CXX_COMPILER_TARGET=arm64-windows-msvc -DCMAKE_LINKER=lld-link
50+
cmake .. -DWITH_SSL=bundled ^
51+
-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl ^
52+
-DCMAKE_C_COMPILER_TARGET=arm64-windows-msvc -DCMAKE_CXX_COMPILER_TARGET=arm64-windows-msvc ^
53+
-DCMAKE_LINKER=lld-link -DCMAKE_SYSTEM_PROCESSOR=ARM64 ^
54+
-GNinja
5355
cmake --build . --parallel --verbose
5456
cmake --build . --target win_package_zip
5557
shell: cmd
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: clang-cl VS native, ARM64
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build:
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
runs-on: windows-11-arm
14+
15+
steps:
16+
- name: Configure git
17+
# mtr will spit random errors, if we don't do that
18+
run: |
19+
git config --global core.autocrlf input
20+
21+
- uses: actions/checkout@v4
22+
23+
- name: Show environment
24+
run: |
25+
echo Processor Architecture: $Env:PROCESSOR_ARCHITECTURE
26+
systeminfo
27+
where.exe perl.exe
28+
- name: Install bison
29+
run: |
30+
choco install winflexbison3 ninja
31+
32+
- name: Install ARM64 clang-cl via Visual Studio Installer
33+
run: |
34+
$vsInstaller = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe"
35+
$vsPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
36+
37+
if (!(Test-Path $vsInstaller)) {
38+
Write-Error "vs_installer.exe not found at expected location: $vsInstaller"
39+
exit 1
40+
}
41+
42+
& "$vsInstaller" modify `
43+
--installPath "$vsPath" `
44+
--add Microsoft.VisualStudio.Component.VC.Tools.ARM64.Clang `
45+
--quiet --wait
46+
47+
- name: Build project
48+
run: |
49+
git config submodule.storage/columnstore/columnstore.update none
50+
git config submodule.storage/maria/libmarias3.update none
51+
git config submodule.storage/rocksdb/rocksdb.update none
52+
git config submodule.wsrep-lib.update none
53+
mkdir bld
54+
cd bld
55+
#set PATH=C:\LLVM\bin;%PATH%
56+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" arm64
57+
cmake .. -DWITH_SSL=bundled ^
58+
-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl ^
59+
-DCMAKE_C_COMPILER_TARGET=arm64-windows-msvc -DCMAKE_CXX_COMPILER_TARGET=arm64-windows-msvc ^
60+
-DCMAKE_LINKER=lld-link -DCMAKE_SYSTEM_PROCESSOR=ARM64 ^
61+
-GNinja
62+
cmake --build . --parallel --verbose
63+
cmake --build . --target win_package_zip
64+
shell: cmd
65+
66+
67+
- name: Test
68+
run: |
69+
$env:PATH = "C:\Strawberry\perl\bin;$env:PATH;C:\Program Files (x86)\Windows Kits\10\Debuggers\arm64"
70+
#Calculate parallel as 4 * number of processors
71+
$parallel = 4 * [int]$env:NUMBER_OF_PROCESSORS
72+
# Run mtr, skip main.mariadb-upgrade-service (currently crashes)
73+
perl bld\mysql-test\mysql-test-run.pl --force --max-test-fail=10 --retry=2 --parallel=$parallel `
74+
--testcase-timeout=6 --suite=main --skip-test=main.mariadb-upgrade-service `
75+
--mysqld=--loose-innodb-flush-log-at-trx-commit=2
76+
77+
- name: Test 2
78+
run: |
79+
perl bld\mysql-test\mysql-test-run.pl --suite=main main.charset_client_win_utf8mb4

.github/workflows/windows-arm64.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ name: Build on Windows ARM64
22

33
on:
44
push:
5+
branches:
6+
- 'main'
7+
- 'bb-*'
8+
- '[0-9]+.[0-9]+'
59
pull_request:
610

711
jobs:

0 commit comments

Comments
 (0)