From 2cbfa852c768bc08dc2b58600d22672fb185328b Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Tue, 15 Apr 2025 22:51:29 +0900 Subject: [PATCH 1/5] ci: Add Windows and Linux Arm runner --- .github/workflows/R-CMD-check.yaml | 34 +++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 7fb36fc..f87e59a 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -16,13 +16,15 @@ jobs: fail-fast: false matrix: config: - - {os: macos-latest, r: 'release'} - - {os: macos-15, r: 'next'} - - {os: windows-latest, r: 'release'} - - {os: windows-latest, r: 'devel'} - - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} - - {os: ubuntu-latest, r: 'release'} - - {os: ubuntu-latest, r: 'oldrel-1'} + - { os: macos-latest, r: 'release' } + - { os: macos-15, r: 'next' } + - { os: windows-latest, r: 'release' } + - { os: windows-latest, r: 'devel' } + - { os: ubuntu-latest, r: 'devel', http-user-agent: 'release' } + - { os: ubuntu-latest, r: 'release' } + - { os: ubuntu-latest, r: 'oldrel-1' } + - { os: ubuntu-24.04-arm, r: 'release' } + - { os: windows-11-arm, r: 'release' } env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} @@ -30,24 +32,40 @@ jobs: steps: - name: Add more rust targets - if: runner.os == 'windows' + if: ${{ runner.os == 'windows' && runner.arch == 'X64' }} run: rustup target add x86_64-pc-windows-gnu + + - name: Install Rust on Arm Windows + if: ${{ runner.os == 'windows' && runner.arch == 'ARM64' }} + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > tmp.sh + sh ./tmp.sh -y --profile minimal --target aarch64-pc-windows-gnullvm + echo ${HOME}/.cargo/bin >> $GITHUB_PATH + shell: bash - uses: actions/checkout@v3 - uses: r-lib/actions/setup-pandoc@v2 - uses: r-lib/actions/setup-r@v2 + # TODO: skip installation on Windows Arm64 and use the default installation + if: ${{ !(runner.os == 'windows' && runner.arch == 'ARM64') }} with: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - uses: r-lib/actions/setup-r-dependencies@v2 + if: ${{ !(runner.os == 'windows' && runner.arch == 'ARM64') }} with: extra-packages: any::rcmdcheck needs: check + # TODO: it seems pak doesn't support Windows Arm64 + - name: Install + if: ${{ runner.os == 'windows' && runner.arch == 'ARM64' }} + run: Rscript -e 'install.packages("rcmdcheck", repos="https://cloud.r-project.org")' + - uses: r-lib/actions/check-r-package@v2 with: upload-snapshots: true From 75508fd1798471b47c77e9fb92ba1601cde2e6ea Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Tue, 15 Apr 2025 22:53:02 +0900 Subject: [PATCH 2/5] Tweak --- .github/workflows/R-CMD-check.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index f87e59a..8f308aa 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -40,6 +40,9 @@ jobs: run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > tmp.sh sh ./tmp.sh -y --profile minimal --target aarch64-pc-windows-gnullvm + rm tmp.sh + + # make cargo available on R CMD check echo ${HOME}/.cargo/bin >> $GITHUB_PATH shell: bash From 8c81f0cc0ddc2a756e1f4665ecae5e2dc1b45035 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Sat, 26 Apr 2025 10:35:58 +0900 Subject: [PATCH 3/5] Remove Windows ARM --- .github/workflows/R-CMD-check.yaml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 8f308aa..44cf778 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -24,7 +24,6 @@ jobs: - { os: ubuntu-latest, r: 'release' } - { os: ubuntu-latest, r: 'oldrel-1' } - { os: ubuntu-24.04-arm, r: 'release' } - - { os: windows-11-arm, r: 'release' } env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} @@ -51,24 +50,16 @@ jobs: - uses: r-lib/actions/setup-pandoc@v2 - uses: r-lib/actions/setup-r@v2 - # TODO: skip installation on Windows Arm64 and use the default installation - if: ${{ !(runner.os == 'windows' && runner.arch == 'ARM64') }} with: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - uses: r-lib/actions/setup-r-dependencies@v2 - if: ${{ !(runner.os == 'windows' && runner.arch == 'ARM64') }} with: extra-packages: any::rcmdcheck needs: check - # TODO: it seems pak doesn't support Windows Arm64 - - name: Install - if: ${{ runner.os == 'windows' && runner.arch == 'ARM64' }} - run: Rscript -e 'install.packages("rcmdcheck", repos="https://cloud.r-project.org")' - - uses: r-lib/actions/check-r-package@v2 with: upload-snapshots: true From b35c75f823fa7ad6f0a8c1ee9e96da8cdad9da2e Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Sat, 26 Apr 2025 10:36:40 +0900 Subject: [PATCH 4/5] Remove Rust install for Windows --- .github/workflows/R-CMD-check.yaml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 44cf778..df02e44 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -31,19 +31,7 @@ jobs: steps: - name: Add more rust targets - if: ${{ runner.os == 'windows' && runner.arch == 'X64' }} run: rustup target add x86_64-pc-windows-gnu - - - name: Install Rust on Arm Windows - if: ${{ runner.os == 'windows' && runner.arch == 'ARM64' }} - run: | - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > tmp.sh - sh ./tmp.sh -y --profile minimal --target aarch64-pc-windows-gnullvm - rm tmp.sh - - # make cargo available on R CMD check - echo ${HOME}/.cargo/bin >> $GITHUB_PATH - shell: bash - uses: actions/checkout@v3 From d29004448540396c0417a1a11d5d5c89bb240a07 Mon Sep 17 00:00:00 2001 From: Hiroaki Yutani Date: Sat, 26 Apr 2025 10:37:31 +0900 Subject: [PATCH 5/5] Revert --- .github/workflows/R-CMD-check.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index df02e44..aa2f17f 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -31,6 +31,7 @@ jobs: steps: - name: Add more rust targets + if: runner.os == 'windows' run: rustup target add x86_64-pc-windows-gnu - uses: actions/checkout@v3