Merge pull request #9 from Sage-Bionetworks/danlu1-patch-1 #26
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: | |
- master | |
pull_request: | |
branches: | |
- 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: macOS-latest, r: 'devel'} | |
- {os: macOS-latest, r: 'release'} | |
- {os: windows-latest, r: 'release'} | |
- {os: ubuntu-latest, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"} | |
- {os: ubuntu-latest, r: '3.6', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"} | |
- {os: ubuntu-latest, r: '3.5', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"} | |
- {os: ubuntu-latest, r: '3.4', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"} | |
env: | |
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | |
RSPM: ${{ matrix.config.rspm }} | |
RETICULATE_AUTOCONFIGURE: 'FALSE' | |
CI: true | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
SYNAPSE_AUTH_TOKEN: ${{ secrets.SYNAPSE_PAT }} | |
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: Query dependencies | |
run: | | |
install.packages('remotes') | |
saveRDS(remotes::dev_package_deps(dependencies = TRUE), "depends.Rds", version = 2) | |
shell: Rscript {0} | |
- name: Cache R packages | |
if: runner.os != 'Windows' | |
uses: actions/cache@v1 | |
with: | |
path: ${{ env.R_LIBS_USER }} | |
key: ${{ runner.os }}-r-${{ matrix.config.r }}-${{ hashFiles('depends.Rds') }} | |
restore-keys: ${{ runner.os }}-r-${{ matrix.config.r }}- | |
- name: Install system dependencies (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
sudo apt-get -y update | |
sudo apt-get install -y make python-is-python3 pandoc pandoc-citeproc git-core libv8-dev libxml2-dev libcurl4-openssl-dev libssl-dev libssh2-1-dev zlib1g-dev libgit2-dev | |
- name: Install system dependencies (macOS) | |
if: runner.os == 'macOS' && matrix.config.r == 'devel' | |
run: | | |
brew install libgit2 | |
- name: Install dependencies | |
run: | | |
Sys.setenv(DOWNLOAD_STATIC_LIBV8 = 1) | |
library(remotes) | |
deps <- readRDS('depends.Rds') | |
deps[['installed']] <- vapply(deps[['package']], remotes:::local_sha, character(1)) | |
update(deps) | |
remotes::install_cran('rcmdcheck') | |
shell: Rscript {0} | |
- name: Install Miniconda | |
run: | | |
Rscript -e "remotes::install_github('rstudio/reticulate')" | |
Rscript -e "reticulate::install_miniconda()" | |
- name: Add Miniconda to .Rprofile on macOS | |
if: runner.os == 'macOS' | |
run: echo "options(reticulate.conda_binary = reticulate:::miniconda_conda())" >> .Rprofile | |
- name: Install Python deps | |
run: | | |
Rscript -e "reticulate::py_discover_config()" | |
Rscript -e "reticulate::py_install(c('pandas', 'numpy', 'boto3', 'synapseclient'), pip = TRUE)" | |
- name: Check | |
run: rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "warning", check_dir = "check") | |
shell: Rscript {0} | |
- name: Upload check results | |
if: failure() | |
uses: actions/upload-artifact@master | |
with: | |
name: ${{ runner.os }}-r${{ matrix.config.r }}-results | |
path: check |