1+ # Workflow derived from https://github.com/r-lib/actions/tree/master/examples
2+ # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
3+ #
4+ # NOTE: This workflow is overkill for most R packages and
5+ # check-standard.yaml is likely a better choice.
6+ # usethis::use_github_action("check-standard") will install it.
17on :
28 push :
3- branches :
4- - master
9+ branches : [main, master]
510 pull_request :
6- branches :
7- - master
11+ branches : [main, master]
812
913name : R-CMD-check
1014
@@ -18,71 +22,38 @@ jobs:
1822 fail-fast : false
1923 matrix :
2024 config :
21- - {os: macOS-latest, r: 'devel'}
2225 - {os: macOS-latest, r: 'release'}
26+
2327 - {os: windows-latest, r: 'release'}
24- - {os: ubuntu-16.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
25- - {os: ubuntu-16.04, r: 'oldrel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
26- - {os: ubuntu-16.04, r: '3.5', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
27- - {os: ubuntu-16.04, r: '3.4', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
28- - {os: ubuntu-16.04, r: '3.3', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
28+
29+ # Use older ubuntu to maximise backward compatibility
30+ - {os: ubuntu-18.04, r: 'devel', http-user-agent: 'release'}
31+ - {os: ubuntu-18.04, r: 'release'}
32+ - {os: ubuntu-18.04, r: 'oldrel-1'}
33+ - {os: ubuntu-18.04, r: 'oldrel-2'}
34+ - {os: ubuntu-18.04, r: 'oldrel-3'}
35+ - {os: ubuntu-18.04, r: 'oldrel-4'}
2936
3037 env :
31- R_REMOTES_NO_ERRORS_FROM_WARNINGS : true
32- RSPM : ${{ matrix.config.rspm }}
3338 GITHUB_PAT : ${{ secrets.GITHUB_TOKEN }}
39+ R_KEEP_PKG_SOURCE : yes
3440
3541 steps :
3642 - uses : actions/checkout@v2
3743
38- - uses : r-lib/actions/setup-r@master
44+ - uses : r-lib/actions/setup-pandoc@v1
45+
46+ - uses : r-lib/actions/setup-r@v1
3947 with :
4048 r-version : ${{ matrix.config.r }}
49+ http-user-agent : ${{ matrix.config.http-user-agent }}
50+ use-public-rspm : true
4151
42- - uses : r-lib/actions/setup-pandoc@master
43-
44- - name : Query dependencies
45- run : |
46- install.packages('remotes')
47- saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
48- writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
49- shell : Rscript {0}
50-
51- - name : Cache R packages
52- if : runner.os != 'Windows'
53- uses : actions/cache@v1
52+ - uses : r-lib/actions/setup-r-dependencies@v1
5453 with :
55- path : ${{ env.R_LIBS_USER }}
56- key : ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
57- restore-keys : ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-
58-
59- - name : Install system dependencies
60- if : runner.os == 'Linux'
61- env :
62- RHUB_PLATFORM : linux-x86_64-ubuntu-gcc
63- run : |
64- Rscript -e "remotes::install_github('r-hub/sysreqs')"
65- sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))")
66- sudo -s eval "$sysreqs"
67-
68- - name : Install dependencies
69- run : |
70- remotes::install_deps(dependencies = TRUE)
71- remotes::install_cran("rcmdcheck")
72- shell : Rscript {0}
73-
74- - name : Session info
75- run : |
76- options(width = 100)
77- pkgs <- installed.packages()[, "Package"]
78- sessioninfo::session_info(pkgs, include_base = TRUE)
79- shell : Rscript {0}
54+ extra-packages : rcmdcheck
8055
81- - name : Check
82- env :
83- _R_CHECK_CRAN_INCOMING_ : false
84- run : rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
85- shell : Rscript {0}
56+ - uses : r-lib/actions/check-r-package@v1
8657
8758 - name : Show testthat output
8859 if : always()
9162
9263 - name : Upload check results
9364 if : failure()
94- uses : actions/upload-artifact@master
65+ uses : actions/upload-artifact@main
9566 with :
9667 name : ${{ runner.os }}-r${{ matrix.config.r }}-results
9768 path : check
0 commit comments