lintr #1050
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
# For help debugging build failures open an issue on the RStudio community with the 'github-actions' tag. | |
# https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions | |
on: | |
push: | |
branches: | |
- devel | |
- stable | |
- release/* | |
- feature/* | |
pull_request: | |
branches: | |
- devel | |
name: R-CMD-check-no-suggests | |
jobs: | |
R-CMD-check: | |
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: | |
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | |
R_KEEP_PKG_SOURCE: yes | |
steps: | |
- uses: actions/checkout@v4 | |
- 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 | |
extra-repositories: 'https://inla.r-inla-download.org/R/testing https://inlabru-org.r-universe.dev' | |
- name: Install system dependencies on MacOS (X11, gdal) | |
if: runner.os == 'macOS' | |
run: | | |
brew install --cask xquartz | |
brew install pkg-config | |
brew install proj@9 | |
brew install gdal | |
- name: Install system dependencies on Linux (GL) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update -y && sudo apt-get install -y libglu1-mesa-dev | |
- name: Has Suggests? | |
run: | | |
options(width = 100) | |
pkgs <- installed.packages()[, "Package"] | |
sug <- as.list(read.dcf("DESCRIPTION")[1,])$Suggests | |
sug <- gsub(" \\([^)]*\\)", "", sug) | |
sug <- gsub("\n", "", sug) | |
sug <- gsub(" ", "", sug) | |
sug <- strsplit(sug, ",")[[1]] | |
cat(paste0("Uninstalled Suggests: ", | |
paste0(sug[!(sug %in% pkgs)], collapse = ", "), | |
"\n")) | |
cat(paste0("Installed Suggests: ", | |
paste0(sug[sug %in% pkgs], collapse = ", "), | |
"\n")) | |
shell: Rscript {0} | |
- uses: r-lib/actions/setup-r-dependencies@v2 | |
with: | |
dependencies: '"hard"' | |
cache: false | |
extra-packages: | | |
rcmdcheck | |
testthat | |
remotes | |
- name: Has Suggests? Remove INLA. | |
run: | | |
options(width = 100) | |
pkgs <- installed.packages()[, "Package"] | |
if ("INLA" %in% pkgs) { | |
cat("Uninstalling INLA\n") | |
remove.packages("INLA") | |
} | |
pkgs <- installed.packages()[, "Package"] | |
sug <- as.list(read.dcf("DESCRIPTION")[1,])$Suggests | |
sug <- gsub(" \\([^)]*\\)", "", sug) | |
sug <- gsub("\n", "", sug) | |
sug <- gsub(" ", "", sug) | |
sug <- strsplit(sug, ",")[[1]] | |
cat(paste0("Uninstalled Suggests: ", | |
paste0(sug[!(sug %in% pkgs)], collapse = ", "), | |
"\n")) | |
cat(paste0("Installed Suggests: ", | |
paste0(sug[sug %in% pkgs], collapse = ", "), | |
"\n")) | |
shell: Rscript {0} | |
- name: Fix temporary out-of-sync binary packages | |
run: | | |
install.packages("MatrixModels", repos = "https://cloud.r-project.org", type = "source") | |
shell: Rscript {0} | |
- name: Session info without INLA | |
run: | | |
options(width = 100) | |
pkgs <- installed.packages()[, "Package"] | |
sessioninfo::session_info(pkgs, include_base = TRUE) | |
shell: Rscript {0} | |
- uses: r-lib/actions/check-r-package@v2 | |
env: | |
_R_CHECK_CRAN_INCOMING_REMOTE_: false | |
_R_CHECK_FORCE_SUGGESTS_: false | |
with: | |
build_args: 'c("--no-manual", "--no-build-vignettes")' | |
args: 'c("--no-manual", "--ignore-vignettes", "--as-cran")' | |
- name: Has Suggests? Ensure INLA installed. | |
run: | | |
options(width = 100) | |
pkgs <- installed.packages()[, "Package"] | |
if (!("INLA" %in% pkgs)) { | |
cat("Installing INLA\n") | |
install.packages("INLA") | |
} | |
pkgs <- installed.packages()[, "Package"] | |
sug <- as.list(read.dcf("DESCRIPTION")[1,])$Suggests | |
sug <- gsub(" \\([^)]*\\)", "", sug) | |
sug <- gsub("\n", "", sug) | |
sug <- gsub(" ", "", sug) | |
sug <- strsplit(sug, ",")[[1]] | |
cat(paste0("Uninstalled Suggests: ", | |
paste0(sug[!(sug %in% pkgs)], collapse = ", "), | |
"\n")) | |
cat(paste0("Installed Suggests: ", | |
paste0(sug[sug %in% pkgs], collapse = ", "), | |
"\n")) | |
shell: Rscript {0} | |
- name: Limit INLA version to 24.05.10 on old R version | |
run: | | |
if (getRversion() < "4.4.0") { | |
remotes::install_version("INLA", version = "24.05.10", repos = "https://inla.r-inla-download.org/R/testing") | |
} | |
shell: Rscript {0} | |
- name: Fix temporary out-of-sync binary packages | |
run: | | |
install.packages("MatrixModels", repos = "https://cloud.r-project.org", type = "source") | |
shell: Rscript {0} | |
- name: Session info with INLA | |
run: | | |
options(width = 100) | |
pkgs <- installed.packages()[, "Package"] | |
sessioninfo::session_info(pkgs, include_base = TRUE) | |
shell: Rscript {0} | |
- uses: r-lib/actions/check-r-package@v2 | |
env: | |
_R_CHECK_CRAN_INCOMING_REMOTE_: false | |
_R_CHECK_FORCE_SUGGESTS_: false | |
with: | |
build_args: 'c("--no-manual", "--no-build-vignettes")' | |
args: 'c("--no-manual", "--ignore-vignettes", "--as-cran")' |