diff --git a/.github/workflows/R_CMD_CHECK.yml b/.github/workflows/R_CMD_CHECK.yml index d5cfd6c..4c5ef25 100644 --- a/.github/workflows/R_CMD_CHECK.yml +++ b/.github/workflows/R_CMD_CHECK.yml @@ -1,80 +1,56 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/master/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: - - master + branches: [main, master] pull_request: - branches: - - master + branches: [main, master] schedule: - cron: '0 0 1 * *' # every first of the month - + name: R-CMD-check jobs: R-CMD-check: runs-on: ${{ matrix.config.os }} name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + strategy: fail-fast: false matrix: config: - # Use older ubuntu to maximise backward compatibility - - {os: ubuntu-18.04, r: 'devel', rspm: "https://demo.rstudiopm.com/all/__linux__/xenial/latest"} - - {os: ubuntu-18.04, r: 'release', rspm: "https://demo.rstudiopm.com/all/__linux__/xenial/latest"} - - {os: ubuntu-18.04, r: 'oldrel-1', rspm: "https://demo.rstudiopm.com/all/__linux__/xenial/latest"} - - {os: ubuntu-18.04, r: 'oldrel-2', rspm: "https://demo.rstudiopm.com/all/__linux__/xenial/latest"} - - {os: ubuntu-18.04, r: 'oldrel-3', rspm: "https://demo.rstudiopm.com/all/__linux__/xenial/latest"} - - {os: ubuntu-18.04, r: 'oldrel-4', rspm: "https://demo.rstudiopm.com/all/__linux__/xenial/latest"} - - # Use 3.6 to trigger usage of RTools35 - - {os: windows-latest, r: 'devel'} + - {os: macOS-latest, r: 'release'} - {os: windows-latest, r: 'release'} - - {os: windows-latest, r: '3.6'} - - - {os: macOS-latest, r: 'devel'} - - {os: macOS-latest, r: 'release'} - + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, r: 'release'} + - {os: ubuntu-latest, r: 'oldrel-1'} + env: - R_REMOTES_NO_ERRORS_FROM_WARNINGS: true - RSPM: ${{ matrix.config.rspm }} GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes + steps: - uses: actions/checkout@v2 - - uses: r-lib/actions/setup-r@master + - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-r@v1 with: r-version: ${{ matrix.config.r }} - - uses: r-lib/actions/setup-pandoc@master - - name: Query dependencies - run: | - install.packages('remotes') - saveRDS(remotes::dev_package_deps(dependencies = TRUE), "depends.Rds", version = 2) - shell: Rscript {0} - - name: Cache R packages - if: runner.os != 'Windows' - uses: actions/cache@v1 + http-user-agent: ${{ matrix.config.http-user-agent }} + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v1 with: - path: ${{ env.R_LIBS_USER }} - key: ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('depends.Rds') }} - restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}- - - name: Install system dependencies - if: runner.os == 'Linux' - env: - RHUB_PLATFORM: linux-x86_64-ubuntu-gcc - run: | - Rscript -e "remotes::install_github('r-hub/sysreqs')" - sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") - sudo -s eval "$sysreqs" - - name: Install dependencies - run: | - remotes::install_deps(dependencies = TRUE) - install.packages(c("remotes", "rcmdcheck", "webshot")) - shell: Rscript {0} - - name: Check - run: rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "warning", check_dir = "check") - shell: Rscript {0} + extra-packages: rcmdcheck + - uses: r-lib/actions/check-r-package@v1 + + - name: Show testthat output + if: always() + run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true + shell: bash + - name: Upload check results if: failure() - uses: actions/upload-artifact@master + uses: actions/upload-artifact@main with: name: ${{ runner.os }}-r${{ matrix.config.r }}-results path: check