minor edit to comply with CRAN UBSAN #105
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: | |
- main | |
- master | |
pull_request: | |
branches: | |
- main | |
- master | |
name: R-CMD-check | |
jobs: | |
R-CMD-check: | |
runs-on: ${{ matrix.config.os }} | |
name: ${{ matrix.config.os }} (${{ matrix.config.r }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- {os: windows-latest, r: 'release'} | |
- {os: macOS-latest, r: 'release'} | |
- {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} | |
# - {os: windows-latest, r: 'devel'} removed because Rcpp is missing in github | |
#- {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} # removed because actually bugged | |
env: | |
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | |
RSPM: ${{ matrix.config.rspm }} | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: r-lib/actions/setup-r@v2 | |
with: | |
r-version: ${{ matrix.config.r }} | |
- uses: r-lib/actions/setup-pandoc@v2 | |
- name: Install system dependencies for MACOS | |
if: runner.os == 'macOS' | |
run: | | |
brew install xquartz | |
brew install gdal | |
brew install proj | |
- name: Query dependencies | |
run: | | |
install.packages('remotes') | |
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: Query raster for macos | |
if: runner.os == 'macOS' | |
run: | | |
install.packages('remotes') | |
remotes::install_github('rspatial/terra') | |
remotes::install_github('rspatial/raster') | |
shell: Rscript {0} | |
- name: install Fonts on macOS | |
if: runner.os == 'macOS' | |
run: | | |
remotes::install_version("Rttf2pt1", version = "1.3.8") | |
install.packages("extrafont") | |
library(extrafont) | |
font_import(prompt = FALSE) | |
loadfonts() | |
shell: Rscript {0} | |
- name: Query igraph and XML for windows | |
if: runner.os == 'Windows' | |
run: | | |
install.packages('remotes') | |
install.packages("igraph", type = "binary") | |
install.packages("XML", type = "binary") | |
install.packages("tmap") | |
shell: Rscript {0} | |
- name: Restore R package cache | |
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_deps(dependencies = TRUE) | |
remotes::install_cran("rcmdcheck") | |
shell: Rscript {0} | |
- name: Check on macOS | |
if: runner.os == 'macOS' | |
env: | |
_R_CHECK_CRAN_INCOMING_REMOTE_: false | |
run: | | |
options(crayon.enabled = TRUE) | |
extrafont::font_import(prompt = FALSE) | |
extrafont::loadfonts() | |
rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check") | |
shell: Rscript {0} | |
- name: Check on Widnows and Ubuntu | |
if: runner.os != 'macOS' | |
env: | |
_R_CHECK_CRAN_INCOMING_REMOTE_: false | |
run: | | |
options(crayon.enabled = TRUE) | |
rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check") | |
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 |