1
-
1
+ # For help debugging build failures open an issue on the RStudio community with the 'github-actions' tag.
2
+ # https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions
2
3
on :
3
4
push :
4
5
branches :
6
+ - main
5
7
- master
6
8
pull_request :
7
9
branches :
10
+ - main
8
11
- master
9
12
10
13
name : R-CMD-check
@@ -13,67 +16,76 @@ jobs:
13
16
R-CMD-check :
14
17
runs-on : ${{ matrix.config.os }}
15
18
16
- name : ${{ matrix.config.os }} (R ${{ matrix.config.r }})
19
+ name : ${{ matrix.config.os }} (${{ matrix.config.r }})
17
20
18
21
strategy :
19
22
fail-fast : false
20
23
matrix :
21
24
config :
22
- - {os: windows-latest, r: '3.6 '}
23
- - {os: macOS -latest, r: '3.6 '}
24
- - {os: windows -latest, r: '4.0 '}
25
- - {os: macOS-latest , r: '4.0' }
26
- - {os: ubuntu-16 .04, r: '4.0 ', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial /latest"}
27
- - {os: ubuntu-18 .04, r: '4.0 ', rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic /latest"}
28
- - {os: ubuntu-18 .04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic /latest"}
25
+ - {os: windows-latest, r: 'oldrel '}
26
+ - {os: windows -latest, r: 'release '}
27
+ - {os: macOS -latest, r: 'release '}
28
+ - {os: ubuntu-16.04 , r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest" }
29
+ - {os: ubuntu-18 .04, r: 'release ', rspm: "https://packagemanager.rstudio.com/cran/__linux__/bionic /latest"}
30
+ - {os: ubuntu-20 .04, r: 'release ', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal /latest"}
31
+ - {os: ubuntu-20 .04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal /latest"}
29
32
30
33
env :
31
34
R_REMOTES_NO_ERRORS_FROM_WARNINGS : true
32
35
RSPM : ${{ matrix.config.rspm }}
33
36
34
37
steps :
35
- - uses : actions/checkout@v1
38
+ - uses : actions/checkout@v2
36
39
37
- - uses : r-lib/actions/setup-r@master
40
+ - uses : r-lib/actions/setup-r@v1
38
41
with :
39
42
r-version : ${{ matrix.config.r }}
40
43
41
- - uses : r-lib/actions/setup-pandoc@master
44
+ - uses : r-lib/actions/setup-pandoc@v1
42
45
43
46
- name : Query dependencies
44
47
run : |
45
48
install.packages('remotes')
46
- saveRDS(remotes::dev_package_deps(dependencies = TRUE), "depends.Rds", version = 2)
49
+ saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
50
+ writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
47
51
shell : Rscript {0}
48
52
49
53
- name : Cache R packages
50
54
if : runner.os != 'Windows'
51
- uses : actions/cache@v1
55
+ uses : actions/cache@v2
52
56
with :
53
57
path : ${{ env.R_LIBS_USER }}
54
- key : ${{ matrix.config. os }}-r- ${{ matrix.config.r }}-${{ hashFiles('depends.Rds') }}
55
- restore-keys : ${{ matrix.config. os }}-r- ${{ matrix.config.r }}-
58
+ key : ${{ runner. os }}-${{ hashFiles('.github/R-version') }}-1- ${{ hashFiles('.github/ depends.Rds') }}
59
+ restore-keys : ${{ runner. os }}-${{ hashFiles('.github/R-version') }}-1 -
56
60
57
- - name : Install system dependencies (MacOS)
61
+ - name : Install s2 system dependencies (MacOS)
58
62
if : runner.os == 'MacOS'
59
63
run : |
60
64
brew install openssl@1.1
61
65
62
- - name : Install system dependencies (Linux)
66
+ - name : Install s2 system dependencies (Linux)
63
67
if : runner.os == 'Linux'
64
68
run : |
65
69
sudo apt install libssl-dev
70
+
71
+ - name : Install system dependencies
72
+ if : runner.os == 'Linux'
73
+ run : |
74
+ while read -r cmd
75
+ do
76
+ eval sudo $cmd
77
+ done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))')
78
+
66
79
- name : Install dependencies
67
80
run : |
68
- library(remotes)
69
- deps <- readRDS("depends.Rds")
70
- deps[["installed"]] <- vapply(deps[["package"]], remotes:::local_sha, character(1))
71
- update(deps)
81
+ remotes::install_deps(dependencies = TRUE)
72
82
remotes::install_cran("rcmdcheck")
73
83
shell : Rscript {0}
74
84
75
85
- name : Check
76
- run : rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "warning", check_dir = "check")
86
+ env :
87
+ _R_CHECK_CRAN_INCOMING_REMOTE_ : false
88
+ run : rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
77
89
shell : Rscript {0}
78
90
79
91
- name : Show install output
88
100
89
101
- name : Upload check results
90
102
if : failure()
91
- uses : actions/upload-artifact@master
103
+ uses : actions/upload-artifact@main
92
104
with :
93
- name : ${{ matrix.config .os }}-r${{ matrix.config.r }}-results
105
+ name : ${{ runner .os }}-r${{ matrix.config.r }}-results
94
106
path : check
0 commit comments