Skip to content

Commit 80c4a8e

Browse files
committed
Add Windows-arm64 to the matrix
1 parent 9e7df18 commit 80c4a8e

File tree

3 files changed

+34
-18
lines changed

3 files changed

+34
-18
lines changed

.github/scripts/win-check.sh

+13-4
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,23 @@ set -e
44
set -x
55

66
# Put pdflatex on the path (needed only for CMD check)
7+
if [ "$( uname -s | grep ARM)" ]; then
8+
export PATH="/c/aarch64-w64-mingw32.static.posix/bin:$PATH:/c/Users/$USER/AppData/Roaming/TinyTeX/bin/windows:$HOME/AppData/Local/Programs/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX 2.9/miktex/bin/x64"
9+
tcltk="https://github.com/r-windows/rtools-chocolatey/releases/download/6536/tcltk-aarch64-6536-6492.zip"
10+
echo "USE_LLVM = 1" >> src/gnuwin32/MkRules.local
11+
clang --version
12+
else
713
export PATH="/c/x86_64-w64-mingw32.static.posix/bin:$PATH:/c/Users/$USER/AppData/Roaming/TinyTeX/bin/windows:$HOME/AppData/Local/Programs/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX 2.9/miktex/bin/x64"
14+
tcltk="https://github.com/r-windows/rtools-chocolatey/releases/download/6536/tcltk-6536-6492.zip"
15+
gcc --version
16+
fi
17+
818
echo "PATH: $PATH"
919
pdflatex --version
1020
texindex --version
1121
texi2any --version
1222
make --version
1323
perl --version
14-
gcc --version
1524

1625
# Extra steps to prepare SVN build (rather than official tarball)
1726
cd "$(cygpath ${GITHUB_WORKSPACE})"
@@ -22,11 +31,11 @@ curl -sSL https://curl.se/ca/cacert.pem > etc/curl-ca-bundle.crt
2231
./.github/scripts/svn-info.sh
2332

2433
# Download the TCL bundle required by tcltk package
25-
curl -OL https://github.com/r-windows/rtools-chocolatey/releases/download/6104/tcltk-6104-6025.zip
26-
unzip tcltk-6104-6025.zip
34+
curl -o tcltk.zip -L $tcltk
35+
unzip -q tcltk.zip
2736

2837
# Add custom flags to MkRules.local
29-
cp .github/scripts/MkRules.local src/gnuwin32/
38+
#cp .github/scripts/MkRules.local src/gnuwin32/
3039
cd src/gnuwin32
3140

3241
# Build just the core pieces (no installer)

.github/scripts/win-installer.sh

+13-5
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,23 @@ set -e
44
set -x
55

66
# Put pdflatex on the path (needed only for CMD check)
7+
if [ "$( uname -s | grep ARM)" ]; then
8+
export PATH="/c/aarch64-w64-mingw32.static.posix/bin:$PATH:/c/Users/$USER/AppData/Roaming/TinyTeX/bin/windows:$HOME/AppData/Local/Programs/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX 2.9/miktex/bin/x64"
9+
tcltk="https://github.com/r-windows/rtools-chocolatey/releases/download/6536/tcltk-aarch64-6536-6492.zip"
10+
echo "USE_LLVM = 1" >> src/gnuwin32/MkRules.local
11+
clang --version
12+
else
713
export PATH="/c/x86_64-w64-mingw32.static.posix/bin:$PATH:/c/Users/$USER/AppData/Roaming/TinyTeX/bin/windows:$HOME/AppData/Local/Programs/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX/miktex/bin/x64:/c/progra~1/MiKTeX 2.9/miktex/bin/x64"
14+
tcltk="https://github.com/r-windows/rtools-chocolatey/releases/download/6536/tcltk-6536-6492.zip"
15+
gcc --version
16+
fi
17+
818
echo "PATH: $PATH"
919
pdflatex --version
1020
texindex --version
1121
texi2any --version
1222
make --version
1323
perl --version
14-
gcc --version
1524

1625
# Extra steps to prepare SVN build (rather than official tarball)
1726
cd "$(cygpath ${GITHUB_WORKSPACE})"
@@ -22,12 +31,11 @@ curl -sSL https://curl.se/ca/cacert.pem > etc/curl-ca-bundle.crt
2231
./.github/scripts/svn-info.sh
2332

2433
# Download the TCL bundle required by tcltk package
25-
#curl -OL https://cran.r-project.org/bin/windows/Rtools/rtools43/files/tcltk-5493-5412.zip
26-
curl -OL https://github.com/r-windows/rtools-chocolatey/releases/download/5948/Tcl-5948-5877.zip
27-
unzip Tcl-5948-5877.zip
34+
curl -o tcltk.zip -L $tcltk
35+
unzip -q tcltk.zip
2836

2937
# Add custom flags to MkRules.local
30-
cp .github/scripts/MkRules.local src/gnuwin32/
38+
#cp .github/scripts/MkRules.local src/gnuwin32/
3139
cd src/gnuwin32
3240

3341
# Build just the installer

.github/workflows/build-svn.yaml

+8-9
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ jobs:
126126
127127
- uses: actions/upload-artifact@v4
128128
with:
129-
name: R-devel-${{ matrix.OS == 'macOS-13' && 'x86_64' || 'arm64' }}
129+
name: MacOS-R-devel-${{ matrix.OS == 'macOS-13' && 'x86_64' || 'arm64' }}
130130
path: /opt/R/r-devel-${{ matrix.OS == 'macOS-13' && 'x86_64' || 'arm64' }}.tar.xz
131131

132132
- name: Check
@@ -140,7 +140,7 @@ jobs:
140140

141141
windows:
142142
name: Windows
143-
runs-on: windows-latest
143+
runs-on: ${{matrix.arch == 'arm' && 'windows-11-arm' || 'windows-latest'}}
144144
timeout-minutes: 120
145145
env:
146146
R_CRAN_WEB: "https://cran.rstudio.com"
@@ -152,8 +152,8 @@ jobs:
152152
fail-fast: false
153153
matrix:
154154
script: [ 'check', 'installer' ]
155+
arch: [ 'intel', 'arm']
155156
steps:
156-
157157
- name: Prepare git
158158
run: git config --global core.autocrlf false
159159
shell: bash
@@ -168,12 +168,11 @@ jobs:
168168
msystem: MSYS
169169
install: git make perl curl texinfo texinfo-tex rsync zip unzip diffutils
170170

171-
- name: "Download rtools44 toolchain"
171+
- name: "Download rtools45 toolchain"
172172
run: |
173-
url="https://github.com/r-windows/rtools-chocolatey/releases/download/6104/rtools44-toolchain-libs-base-6104.tar.zst"
174-
curl -sSL $url | tar x --zstd -C /c/ || true
175-
#echo "RTOOLS44_HOME=c:" >> $GITHUB_ENV
176-
#echo "R_CUSTOM_TOOLS_SOFT=c:/x86_64-w64-mingw32.static.posix" >> $GITHUB_ENV
173+
archfix=${{ matrix.arch == 'arm' && '-aarch64' || '' }}
174+
url="https://github.com/r-windows/rtools-chocolatey/releases/download/6536/rtools45-toolchain-libs-base${archfix}-6536.tar.zst"
175+
curl -sSL $url | tar x --zstd -C /c/
177176
178177
- name: Set timezone
179178
shell: powershell
@@ -206,6 +205,6 @@ jobs:
206205

207206
- uses: actions/upload-artifact@v4
208207
with:
209-
name: installer
208+
name: Windows-R-devel-${{matrix.arch}}
210209
path: src/gnuwin32/installer/R-devel-win.exe
211210
if: matrix.script == 'installer'

0 commit comments

Comments
 (0)