Skip to content

Commit 8efa507

Browse files
authored
Merge pull request #3177 from stan-dev/winarm64-ci
Use Windows ARM64 for RTools CI
2 parents 50f1313 + 70a7b17 commit 8efa507

File tree

1 file changed

+20
-28
lines changed

1 file changed

+20
-28
lines changed

.github/workflows/main.yml

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
strategy:
2727
fail-fast: false
2828
matrix:
29-
os: [windows-latest, ubuntu-24.04-arm]
29+
os: [windows-11-arm, windows-latest, ubuntu-24.04-arm]
3030
config: [
3131
{ label: misc, tests: 'test/unit/*_test.cpp test/unit/math/*_test.cpp test/unit/math/memory' },
3232
{ label: prim, tests: 'test/unit/math/prim' },
@@ -41,27 +41,23 @@ jobs:
4141
with:
4242
python-version: '3.x'
4343

44-
- uses: r-lib/actions/setup-r@v2
44+
- name: Download and install Rtools45
4545
if: runner.os == 'Windows'
46-
with:
47-
r-version: 'release'
48-
rtools-version: '45'
49-
50-
- name: Set path for Rtools45
51-
if: runner.os == 'Windows'
52-
run: echo "C:/rtools45/usr/bin;C:/rtools45/x86_64-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
46+
run: |
47+
$ARCH = if ('${{ matrix.os }}' -eq 'windows-11-arm') { 'aarch64' } else { 'x86_64' }
48+
$RTOOLS = if ('${{ matrix.os }}' -eq 'windows-11-arm') { "rtools45-$ARCH" } else { 'rtools45' }
49+
Invoke-WebRequest -Uri https://github.com/r-hub/rtools45/releases/download/latest/$RTOOLS.exe -OutFile "$RTOOLS.exe"
50+
Start-Process -FilePath "$RTOOLS.exe" -ArgumentList "/install /norestart /verysilent /SUPPRESSMSGBOXES" -NoNewWindow -Wait
51+
echo "C:/$RTOOLS/usr/bin;C:/$RTOOLS/$ARCH-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
52+
echo "$(pwd)/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
5353
5454
- name: Build Math libs
5555
shell: pwsh
5656
run: |
5757
Add-Content make\local "CPPFLAGS=-w -Wno-psabi -Wno-misleading-indentation`n"
58+
Add-Content make\local "STAN_THREADS=true`n"
5859
make -f make/standalone math-libs -j2
5960
60-
- name: Add TBB to PATH
61-
if: runner.os == 'Windows'
62-
shell: pwsh
63-
run: echo "D:/a/math/math/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
64-
6561
- name: Run ${{ matrix.config.label }} unit tests
6662
shell: pwsh
6763
run: |
@@ -80,7 +76,7 @@ jobs:
8076
strategy:
8177
fail-fast: false
8278
matrix:
83-
os: [windows-latest, ubuntu-24.04-arm]
79+
os: [windows-11-arm, windows-latest, ubuntu-24.04-arm]
8480
group: [1, 2, 3, 4, 5]
8581

8682
steps:
@@ -89,27 +85,23 @@ jobs:
8985
with:
9086
python-version: '3.x'
9187

92-
- uses: r-lib/actions/setup-r@v2
88+
- name: Download and install Rtools45
9389
if: runner.os == 'Windows'
94-
with:
95-
r-version: 'release'
96-
rtools-version: '45'
97-
98-
- name: Set path for Rtools45
99-
if: runner.os == 'Windows'
100-
run: echo "C:/rtools45/usr/bin;C:/rtools45/x86_64-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
90+
run: |
91+
$ARCH = if ('${{ matrix.os }}' -eq 'windows-11-arm') { 'aarch64' } else { 'x86_64' }
92+
$RTOOLS = if ('${{ matrix.os }}' -eq 'windows-11-arm') { "rtools45-$ARCH" } else { 'rtools45' }
93+
Invoke-WebRequest -Uri https://github.com/r-hub/rtools45/releases/download/latest/$RTOOLS.exe -OutFile "$RTOOLS.exe"
94+
Start-Process -FilePath "$RTOOLS.exe" -ArgumentList "/install /norestart /verysilent /SUPPRESSMSGBOXES" -NoNewWindow -Wait
95+
echo "C:/$RTOOLS/usr/bin;C:/$RTOOLS/$ARCH-w64-mingw32.static.posix/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
96+
echo "$(pwd)/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
10197
10298
- name: Build Math libs
10399
shell: pwsh
104100
run: |
105101
Add-Content make\local "CPPFLAGS=-w -Wno-psabi -Wno-misleading-indentation`n"
102+
Add-Content make\local "STAN_THREADS=true`n"
106103
make -f make/standalone math-libs -j2
107104
108-
- name: Add TBB to PATH
109-
if: runner.os == 'Windows'
110-
shell: pwsh
111-
run: echo "D:/a/math/math/lib/tbb" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
112-
113105
- name: Run mix/fun unit tests
114106
shell: pwsh
115107
run: |

0 commit comments

Comments
 (0)