Added Matrix version to lme4 tests and workflow_dispatch to GitHub ac… #34
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: [main, master] | |
pull_request: | |
branches: [main, master] | |
workflow_dispatch: | |
branches: [main, master] | |
name: CRAN check and test | |
jobs: | |
CRAN-check-and-test: | |
runs-on: ${{ matrix.config.os }} | |
name: ${{ matrix.config.os }} (${{ matrix.config.r }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- {os: macOS-latest, r: 'release'} | |
- {os: windows-latest, r: 'release'} | |
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} | |
- {os: ubuntu-latest, r: 'release'} | |
- {os: ubuntu-latest, r: 'oldrel-1'} | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
R_KEEP_PKG_SOURCE: yes | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: r-lib/actions/setup-tinytex@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 | |
- name: add TeX deps | |
run: | | |
install.packages('tinytex') | |
tinytex::tlmgr_install("ae") | |
tinytex::tlmgr_install("thumbpdf") | |
tinytex::tlmgr_install("paralist") | |
tinytex::tlmgr_install("pgf") | |
tinytex::tlmgr_install("grfext") | |
shell: Rscript {0} | |
- uses: r-lib/actions/setup-pandoc@v1 | |
- name: Query dependencies | |
run: | | |
install.packages(c("devtools", "covr")) | |
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' | |
uses: actions/cache@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_cran("rcmdcheck") | |
devtools::install_deps(dependencies = TRUE) | |
install.packages("TMB", type = "source") | |
install.packages("glmmTMB", repos = "https://glmmTMB.github.io/glmmTMB/repos", type = "source") | |
devtools::install_github("paul-buerkner/brms", build_vignettes = FALSE) | |
devtools::install_github("lrberge/fixest") | |
install.packages(c("AER", "alpaca", "Bergm", "bife", "biglm", "btergm", "dynlm", "eha", "ergm", "feisr", "forecast", "gamlss.inf", "lfe", "lme4", "maxLik", "metaSEM", "miceadds", "mlogit", "ordinal", "plm", "spatialreg", "speedglm", "truncreg")) | |
shell: Rscript {0} | |
- name: Check | |
env: | |
_R_CHECK_CRAN_INCOMING_REMOTE_: false | |
run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran", "--ignore-vignettes"), error_on = "error", check_dir = "check", build_args = c("--no-manual", "--no-build-vignettes")) | |
shell: Rscript {0} | |
- name: Upload check results | |
if: failure() | |
uses: actions/upload-artifact@main | |
with: | |
name: ${{ runner.os }}-r${{ matrix.config.r }}-results | |
path: check | |
- name: Unit testing | |
run: withr::with_envvar(c("NOT_CRAN" = "true"), devtools::test()) | |
shell: Rscript {0} | |
- name: Test coverage | |
run: withr::with_envvar(c("NOT_CRAN" = "true"), covr::codecov(quiet = FALSE)) | |
shell: Rscript {0} |