Bumped r version CI #361
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
## Read more about GitHub actions the features of this GitHub Actions workflow | |
## at https://lcolladotor.github.io/biocthis/articles/biocthis.html#use_bioc_github_action | |
## | |
## For more details, check the biocthis developer notes vignette at | |
## https://lcolladotor.github.io/biocthis/articles/biocthis_dev_notes.html | |
## | |
## You can add this workflow to other packages using: | |
## > biocthis::use_bioc_github_action() | |
## | |
## Using GitHub Actions exposes you to many details about how R packages are | |
## compiled and installed in several operating system.s | |
### If you need help, please follow the steps listed at | |
## https://github.com/r-lib/actions#where-to-find-help | |
## | |
## If you found an issue specific to biocthis's GHA workflow, please report it | |
## with the information that will make it easier for others to help you. | |
## Thank you! | |
## Acronyms: | |
## * GHA: GitHub Action | |
## * OS: operating system | |
on: | |
push: | |
pull_request: | |
name: R-CMD-check-bioc | |
## These environment variables control whether to run GHA code later on that is | |
## specific to testthat, covr, and pkgdown. | |
## | |
## If you need to clear the cache of packages, update the number inside | |
## cache-version as discussed at https://github.com/r-lib/actions/issues/86. | |
## Note that you can always run a GHA test without the cache by using the word | |
## "/nocache" in the commit message. | |
env: | |
has_testthat: 'true' | |
run_covr: 'true' | |
run_pkgdown: 'true' | |
has_RUnit: 'false' | |
cache-version: 'cache-v1' | |
jobs: | |
build-check: | |
runs-on: ${{ matrix.config.os }} | |
name: ${{ matrix.config.os }} (${{ matrix.config.r }}) | |
container: ${{ matrix.config.cont }} | |
## Environment variables unique to this job. | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-latest, r: '4.4', bioc: 'devel', cont: "bioconductor/bioconductor_docker:devel", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" } | |
- { os: macOS-latest, r: '4.4', bioc: 'devel'} | |
- { os: windows-latest, r: '4.4', bioc: 'devel'} | |
env: | |
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | |
RSPM: ${{ matrix.config.rspm }} | |
NOT_CRAN: true | |
TZ: UTC | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
## Most of these steps are the same as the ones in | |
## https://github.com/r-lib/actions/blob/master/examples/check-standard.yaml | |
## If they update their steps, we will also need to update ours. | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
## R is already included in the Bioconductor docker images | |
- name: Setup R from r-lib | |
if: runner.os != 'Linux' | |
uses: r-lib/actions/setup-r@v2 | |
with: | |
r-version: ${{ matrix.config.r }} | |
## pandoc is already included in the Bioconductor docker images | |
- name: Setup pandoc from r-lib | |
if: runner.os != 'Linux' | |
uses: r-lib/actions/setup-pandoc@v2 | |
- name: Query dependencies | |
run: | | |
install.packages('remotes') | |
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) | |
shell: Rscript {0} | |
- name: Install Linux system dependencies | |
if: runner.os == 'Linux' | |
run: | | |
sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y", paste(gsub("apt-get install -y ", " qpdf ", remotes::system_requirements("ubuntu", "20.04")), collapse = " "))') | |
echo $sysreqs | |
sudo -s eval "$sysreqs" | |
- name: Install macOS system dependencies | |
if: matrix.config.os == 'macOS-latest' | |
run: | | |
## Enable installing XML from source if needed | |
brew install libxml2 | |
echo "XML_CONFIG=/usr/local/opt/libxml2/bin/xml2-config" >> $GITHUB_ENV | |
## Required to install magick as noted at | |
## https://github.com/r-lib/usethis/commit/f1f1e0d10c1ebc75fd4c18fa7e2de4551fd9978f#diff-9bfee71065492f63457918efcd912cf2 | |
brew install imagemagick@6 | |
## For textshaping, required by ragg, and required by pkgdown | |
brew install harfbuzz fribidi | |
## Helps compile RCurl from source | |
brew uninstall --ignore-dependencies curl | |
- name: Install Windows system dependencies | |
if: runner.os == 'Windows' | |
run: | | |
## Edit below if you have any Windows system dependencies | |
shell: Rscript {0} | |
- name: Install dependencies | |
uses: r-lib/actions/setup-r-dependencies@v2 | |
with: | |
extra-packages: | | |
any::BiocManager | |
any::BiocGenerics | |
any::covr | |
any::pkgdown | |
any::rcmdcheck | |
any::BiocCheck | |
upgrade: "TRUE" | |
- name: Set BiocVersion | |
run: | | |
BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE) | |
shell: Rscript {0} | |
- name: Run CMD check | |
uses: r-lib/actions/check-r-package@v2 | |
with: | |
error-on: '"error"' | |
build_args: 'c("--no-manual", "--no-build-vignettes")' | |
## Might need an to add this to the if: && runner.os == 'Linux' | |
- name: Reveal testthat details | |
if: env.has_testthat == 'true' | |
run: find . -name testthat.Rout -exec cat '{}' ';' | |
- name: Run RUnit tests | |
if: env.has_RUnit == 'true' | |
run: | | |
BiocGenerics:::testPackage() | |
shell: Rscript {0} | |
- name: Run BiocCheck | |
run: | | |
BiocCheck::BiocCheck( | |
dir('check', 'tar.gz$', full.names = TRUE), | |
`quit-with-status` = TRUE, | |
`no-check-R-ver` = TRUE, | |
`no-check-bioc-help` = TRUE | |
) | |
shell: Rscript {0} | |
- name: Test coverage | |
if: github.ref == 'refs/heads/master' && env.run_covr == 'true' && runner.os == 'Linux' | |
run: | | |
covr::codecov() | |
shell: Rscript {0} | |
- name: Install package | |
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux' | |
run: R CMD INSTALL --no-multiarch . | |
- name: Deploy package | |
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux' | |
run: | | |
git config --global --add safe.directory /__w/decoupleR/decoupleR | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub Actions" | |
Rscript -e "pkgdown::deploy_to_branch(new_process = FALSE)" | |
shell: bash {0} | |
## Note that you need to run pkgdown::deploy_to_branch(new_process = FALSE) | |
## at least one locally before this will work. This creates the gh-pages | |
## branch (erasing anything you haven't version controlled!) and | |
## makes the git history recognizable by pkgdown. | |
- name: Upload check results | |
if: failure() | |
uses: actions/upload-artifact@master | |
with: | |
name: ${{ runner.os }}-biocversion-devel-r-4.3-results | |
path: check |