@@ -7,140 +7,9 @@ concurrency:
77 cancel-in-progress : true
88
99jobs :
10- linux :
11- name : Linux
12- runs-on : ubuntu-24.04${{matrix.ARCH == 'arm' && '-arm' || ''}}
13- container :
14- image : ${{matrix.OS}}
15- env :
16- DEBIAN_FRONTEND : noninteractive
17- R_CRAN_WEB : " https://cran.rstudio.com"
18- CRAN_RSYNC : ' mirrors.nic.cz::CRAN'
19- strategy :
20- fail-fast : false
21- matrix :
22- CC : [ gcc, clang ]
23- OS : [ 'debian:stable', 'debian:testing' ]
24- ARCH : [ 'intel', 'arm']
25- steps :
26- - name : System dependencies
27- run : |
28- set -e
29- apt-get update -y
30- apt-get install -y ${{matrix.CC}} wget locales git rsync gfortran xvfb autoconf pkg-config texinfo texlive-latex-extra texlive-fonts-recommended tk8.6-dev \
31- libcurl4-openssl-dev libblas-dev libbz2-dev libicu-dev libjpeg-dev liblapack-dev liblzma-dev libncurses5-dev libpcre2-dev libpng-dev libtiff-dev libcairo2-dev libpango1.0-dev libreadline-dev libxt-dev
32- localedef -i en_US -f UTF-8 en_US.UTF-8
33- echo "LANG=en_US.UTF-8" >> $GITHUB_ENV
34- - name : Checkout
35- uses : actions/checkout@v4
36- with :
37- fetch-depth : 100
38-
39- - name : Prepare
40- run : |
41- git config --global --add safe.directory $PWD || true
42- sed -i.bak 's|$(GIT) svn info|./.github/scripts/svn-info.sh|' Makefile.in
43- ./.github/scripts/wget-recommended.sh
44- ./.github/scripts/svn-info.sh
45- - name : Configure
46- run : CC=${{matrix.CC}} ./configure --enable-R-shlib --with-blas --with-lapack --disable-java
47-
48- - name : Build
49- run : make
50-
51- - name : Check
52- run : xvfb-run make check-all
53-
54- - name : Print failed tests
55- if : always()
56- run : tail -n100 tests/*.fail || true
57-
58- macos :
59- name : MacOS
60- strategy :
61- fail-fast : false
62- matrix :
63- OS : [ 'macOS-13', 'macOS-14' ]
64- runs-on : ${{matrix.OS}}
65- timeout-minutes : 90
66- env :
67- PKG_CONFIG_PATH : /opt/X11/lib/pkgconfig
68- R_CRAN_WEB : " https://cran.rstudio.com"
69- CRAN_RSYNC : ' mirrors.nic.cz::CRAN'
70- R_TEXI2DVICMD : emulation
71-
72- steps :
73- - name : Download CRAN system libraries
74- run : |
75- echo "ARCH=$(uname -m)" >> $GITHUB_ENV
76- curl --retry 3 -fsSL https://github.com/r-universe-org/cranlibs/releases/download/2025-01-05/cranlibs-everything.tar.xz -o libs.tar.xz
77- sudo tar -xf libs.tar.xz -C / opt
78- rm -f libs.tar.xz
79-
80- - name : Remove homebrew
81- run : |
82- echo "/opt/R/${ARCH}/bin" >> $GITHUB_PATH
83- echo "LDFLAGS=-L/opt/R/${ARCH}/lib" >> $GITHUB_ENV
84- echo "CPPFLAGS=-I/opt/R/${ARCH}/include" >> $GITHUB_ENV
85- echo "PKG_CONFIG_PATH=/opt/R/${ARCH}/lib/pkgconfig:/opt/R/${ARCH}/share/pkgconfig" >> $GITHUB_ENV
86- echo "/Library/TeX/texbin" >> $GITHUB_PATH
87- echo "/usr/local/opt/texinfo/bin" >> $GITHUB_PATH
88- cp -fv $(which wget) "/opt/R/${ARCH}/bin"
89- brew unlink $(brew list --formula) || true
90-
91- - name : Install CRAN fortran build
92- run : |
93- curl --retry 3 -fsSLO https://github.com/R-macos/gcc-12-branch/releases/download/12.2-darwin-r0.1/gfortran-12.2-universal.pkg
94- sudo installer -pkg "gfortran-12.2-universal.pkg" -target /
95- rm -f gfortran-12.2-universal.pkg
96- echo "/opt/gfortran/bin" >> $GITHUB_PATH
97- echo "FC=/opt/gfortran/bin/gfortran" >> $GITHUB_ENV
98-
99- - name : Checkout
100- uses : actions/checkout@v4
101- with :
102- fetch-depth : 100
103-
104- - name : Prepare
105- run : |
106- sed -i.bak 's|$(GIT) svn info|./.github/scripts/svn-info.sh|' Makefile.in
107- ./.github/scripts/wget-recommended.sh
108- ./.github/scripts/svn-info.sh
109-
110- - name : Configure
111- run : CC=clang ./configure --prefix=/opt/R/${ARCH}/r-devel --disable-java --with-cairo --without-tcltk --without-x --with-aqua $ACCELERATE --enable-R-shlib SED=/usr/bin/sed
112- env :
113- PDFLATEX : ${{github.workspace}}/.github/scripts/dummy
114- ACCELERATE : ${{ matrix.OS != 'macOS-13' && '--with-lapack --with-blas' || '' }}
115-
116- - name : Build
117- run : make
118- env :
119- PDFLATEX : ${{github.workspace}}/.github/scripts/dummy
120-
121- - name : Install
122- run : |
123- mkdir -p /opt/R/${ARCH}/r-devel
124- make install DESTDIR="/opt/R/${ARCH}/r-devel"
125- (cd /opt/R/${ARCH}/r-devel; tar cfJ "/opt/R/r-devel-${ARCH}.tar.xz" .)
126-
127- - uses : actions/upload-artifact@v4
128- with :
129- name : R-devel-${{ matrix.OS == 'macOS-13' && 'x86_64' || 'arm64' }}
130- path : /opt/R/r-devel-${{ matrix.OS == 'macOS-13' && 'x86_64' || 'arm64' }}.tar.xz
131-
132- - name : Check
133- run : make check-all
134- env :
135- PDFLATEX : ${{github.workspace}}/.github/scripts/dummy
136-
137- - name : Print failed tests
138- if : always()
139- run : tail -n100 tests/*.fail || true
140-
14110 windows :
14211 name : Windows
143- runs-on : windows-latest
12+ runs-on : ${{matrix.OS}}
14413 timeout-minutes : 120
14514 env :
14615 R_CRAN_WEB : " https://cran.rstudio.com"
15221 fail-fast : false
15322 matrix :
15423 script : [ 'check', 'installer' ]
24+ OS : [ 'windows-latest', 'windows-11-arm']
15525 steps :
156-
15726 - name : Prepare git
15827 run : git config --global core.autocrlf false
15928 shell : bash
@@ -168,12 +37,17 @@ jobs:
16837 msystem : MSYS
16938 install : git make perl curl texinfo texinfo-tex rsync zip unzip diffutils
17039
171- - name : " Download rtools44 toolchain"
40+ - name : " Download rtools45 ARM64 toolchain"
41+ if : matrix.OS == 'windows-11-arm'
42+ run : |
43+ url="https://github.com/r-windows/rtools-chocolatey/releases/download/6536/rtools45-toolchain-libs-base-aarch64-6536.tar.zst"
44+ curl -sSL $url | tar x --zstd -C /c/ || true
45+
46+ - name : " Download rtools45 Intel toolchain"
47+ if : matrix.OS != 'windows-11-arm'
17248 run : |
173- url="https://github.com/r-windows/rtools-chocolatey/releases/download/6104/rtools44 -toolchain-libs-base-6104 .tar.zst"
49+ url="https://github.com/r-windows/rtools-chocolatey/releases/download/6536/rtools45 -toolchain-libs-base-6536 .tar.zst"
17450 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
17751
17852 - name : Set timezone
17953 shell : powershell
0 commit comments