Skip to content

Commit

Permalink
Update workflow based on r-lib/actions
Browse files Browse the repository at this point in the history
  • Loading branch information
alwinw committed May 4, 2022
1 parent 9f53f54 commit f0e4e4c
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 75 deletions.
92 changes: 22 additions & 70 deletions .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,87 +23,39 @@ jobs:
matrix:
config:
- { os: macOS-latest, r: "release" }

- { os: windows-latest, r: "release" }
# Use 3.6 to trigger usage of RTools35
- { os: windows-latest, r: "3.6" }
- {
os: ubuntu-20.04,
r: "release",
rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest",
}
- {
os: ubuntu-20.04,
r: "devel",
rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest",
}
- {
os: ubuntu-16.04,
r: "3.5",
rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest",
}

# Use older ubuntu to maximise backward compatibility
- { os: ubuntu-18.04, r: "devel", http-user-agent: "release" }
- { os: ubuntu-18.04, r: "release" }
- { os: ubuntu-18.04, r: "oldrel-1" }
- { os: ubuntu-18.04, r: "oldrel-2" }
- { os: ubuntu-18.04, r: "oldrel-3" }
- { os: ubuntu-18.04, r: "oldrel-4" }

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@v1
- uses: r-lib/actions/setup-pandoc@v2

- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true

- uses: r-lib/actions/setup-pandoc@v1

- name: Query dependencies
run: |
install.packages('remotes')
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
shell: Rscript {0}

- name: Cache R packages
if: ${{!(runner.os == 'Windows' && matrix.config.r == '3.6')}} # On Windows, cache works only with R >= 4.0
uses: actions/cache@v2
- uses: r-lib/actions/setup-r-dependencies@v2
with:
path: ${{ env.R_LIBS_USER }}
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-

- name: Install system dependencies
if: runner.os == 'Linux'
run: |
while read -r cmd
do
eval sudo $cmd
done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))')
- name: Install dependencies
run: |
remotes::install_deps(dependencies = TRUE, type = "binary")
remotes::install_cran("rcmdcheck")
shell: Rscript {0}

- name: Session info
run: |
options(width = 100)
pkgs <- installed.packages()[, "Package"]
sessioninfo::session_info(pkgs, include_base = TRUE)
shell: Rscript {0}

- name: Check
env:
_R_CHECK_CRAN_INCOMING_REMOTE_: false
run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
shell: Rscript {0}

- name: Show testthat output
if: always()
run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true
shell: bash
extra-packages: any::rcmdcheck
needs: check

- name: Upload check results
if: failure()
uses: actions/upload-artifact@main
- uses: r-lib/actions/check-r-package@v2
with:
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
path: check
upload-snapshots: true
10 changes: 5 additions & 5 deletions cran-comments.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ Duration: 1m 31.9s

- Local Windows 10 install: R 4.0.3

- macOS Catalina (GitHub Actions): R 4.1.0
- Windows Server (GitHub Actions): R 4.1.0, R 3.6.3,
- Ubuntu 20.04.2 (GitHub Actions): R-devel, 4.1.0
- Ubuntu 16.04.7 (GitHub Actions): R 3.5.3
- macOS Big Sur (GitHub Actions): R 4.2.0
- Windows Server (GitHub Actions): R 4.2.0, R 3.6.3 with Rtools35,
- Ubuntu 18.04.6 (GitHub Actions): R-devel, 4.2.0, R 4.1.3, 4.0.5, 3.6.3, 3.5.3

- win-builder: R-devel, R-release, R-oldrelease
- R-hub: Windows R-devel, Ubuntu R-release, Fedora R-devel

- Checks:
- `goodpractice::gp()`,
- `rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")`
- `rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")`,
- `devtools::spell_check()`,
- `devtools::check_rhub()`,
- `devtools::check_win_devel()`,
- `codemetar::write_codemeta()`

## Revdep Checks

Expand Down

0 comments on commit f0e4e4c

Please sign in to comment.