1+ # on: push
2+ on :
3+ push :
4+ branches :
5+ - main
6+ - master
7+ pull_request :
8+ branches :
9+ - main
10+ - master
11+
12+ name : R-CMD-check
13+
14+ jobs :
15+ R-CMD-check :
16+ runs-on : ${{ matrix.config.os }}
17+
18+ name : ${{ matrix.config.os }} (${{ matrix.config.r }})
19+
20+ strategy :
21+ fail-fast : false
22+ matrix :
23+ config :
24+ # - {os: windows-latest, r: 'release', rglusenull: "true"}
25+ - {os: macOS-latest, r: 'release', rglusenull: "true"}
26+ - {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
27+ # - {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
28+
29+ env :
30+ R_REMOTES_NO_ERRORS_FROM_WARNINGS : true
31+ RSPM : ${{ matrix.config.rspm }}
32+ GITHUB_PAT : ${{ secrets.GITHUB_TOKEN }}
33+ RGL_USE_NULL : ${{ matrix.config.rglusenull }}
34+
35+ steps :
36+ - uses : actions/checkout@v2
37+
38+ - uses : r-lib/actions/setup-r@master
39+ with :
40+ r-version : ${{ matrix.config.r }}
41+
42+ - uses : r-lib/actions/setup-pandoc@master
43+
44+ - name : Query dependencies
45+ run : Rscript -e "install.packages('remotes')" -e "saveRDS(remotes::dev_package_deps(dependencies = TRUE), 'depends.Rds', version = 2)"
46+
47+ - name : Cache R packages
48+ if : runner.os != 'Windows'
49+ uses : actions/cache@v1
50+ with :
51+ path : ${{ env.R_LIBS_USER }}
52+ key : ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('depends.Rds') }}
53+ restore-keys : ${{ runner.os }}-r-${{ matrix.config.r }}-
54+
55+ - name : Install system dependencies
56+ if : runner.os == 'Linux'
57+ env :
58+ RHUB_PLATFORM : linux-x86_64-ubuntu-gcc
59+ run : |
60+ Rscript -e "remotes::install_github('r-hub/sysreqs')"
61+ sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))")
62+ sudo -s eval "$sysreqs"
63+
64+ - name : Install Covr
65+ run : Rscript -e "remotes::install_github('r-lib/covr')"
66+
67+ - name : Build CMTK
68+ run : sh ./build-cmtk.sh
69+
70+ - name : Install dependencies
71+ run : Rscript -e "library(remotes)" -e "update(readRDS('depends.Rds'))" -e "remotes::install_cran('rcmdcheck')"
72+
73+ - name : Check
74+ run : Rscript -e "rcmdcheck::rcmdcheck(args = c('--no-manual', '--as-cran'), error_on = 'error', check_dir = 'check')"
75+
76+ - name : Upload check results
77+ if : failure()
78+ uses : actions/upload-artifact@master
79+ with :
80+ name : ${{ runner.os }}-r${{ matrix.config.r }}-results
81+ path : check
82+
83+ - name : Test coverage
84+ if : matrix.config.os == 'macOS-latest'
85+ run : |
86+ Rscript -e 'covr::codecov(token = "${{secrets.CODECOV_TOKEN}}")'
0 commit comments