diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 423a5bb4..f5d52602 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -10,63 +10,41 @@ jobs: R-CMD-check: runs-on: ${{ matrix.config.os }} - name: ${{ matrix.config.os }} (${{ matrix.config.r }} - ${{ matrix.config.rust-version }}) + name: "${{ matrix.config.os }} (R: ${{ matrix.config.r }}, Rust: ${{ matrix.config.rust }})" strategy: fail-fast: false matrix: config: - - {os: windows-latest, r: 'release', rust-version: 'stable-msvc', rust-target: 'x86_64-pc-windows-gnu' } - - {os: windows-latest, r: 'devel', rust-version: 'stable-msvc', rust-target: 'x86_64-pc-windows-gnu' } - - {os: windows-latest, r: 'oldrel', rust-version: 'stable-msvc', rust-target: 'x86_64-pc-windows-gnu', rtools-version: '42' } - - - {os: macOS-latest, r: 'release', rust-version: 'stable' } - - - {os: ubuntu-latest, r: 'release', rust-version: 'stable' } - - {os: ubuntu-latest, r: 'devel', rust-version: 'stable' } - - {os: ubuntu-latest, r: 'oldrel', rust-version: 'stable' } + - {os: windows-latest, r: 'release', rust: 'stable-msvc' } + - {os: windows-latest, r: 'devel', rust: 'stable-msvc' } + - {os: macOS-latest, r: 'release', rust: 'stable' } + - {os: ubuntu-latest, r: 'release', rust: 'stable' } + - {os: ubuntu-latest, r: 'devel', rust: 'stable' } env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 - uses: dtolnay/rust-toolchain@master with: - toolchain: ${{ matrix.config.rust-version }} - targets: ${{ matrix.config.rust-target }} - - - uses: baptiste0928/cargo-install@v2 - if: matrix.config.r == 'release' - with: - crate: cargo-license + toolchain: ${{ matrix.config.rust }} - uses: r-lib/actions/setup-r@v2 with: r-version: ${{ matrix.config.r }} rtools-version: ${{ matrix.config.rtools-version }} + use-public-rspm: true - uses: r-lib/actions/setup-r-dependencies@v2 with: cache-version: 2 - extra-packages: rcmdcheck - - # TODO: allow warnings on oldrel (cf., https://stat.ethz.ch/pipermail/r-package-devel/2023q2/009229.html) - - name: Check R version - id: error-on - run: | - output <- Sys.getenv("GITHUB_OUTPUT") - if (.Platform$OS.type == "windows" && getRversion() < "4.3.0") { - cat('level=error', file = output, append = TRUE) - } else { - cat('level=warning', file = output, append = TRUE) - } - shell: Rscript {0} + extra-packages: any::rcmdcheck + needs: check - uses: r-lib/actions/check-r-package@v2 - with: - error-on: '"${{ steps.error-on.outputs.level }}"'