-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Josh Stolz <[email protected]>
- Loading branch information
1 parent
1b28ad3
commit 7bec550
Showing
1 changed file
with
50 additions
and
25 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,8 +34,8 @@ name: R-CMD-check-bioc | |
## Note that you can always run a GHA test without the cache by using the word | ||
## "/nocache" in the commit message. | ||
env: | ||
has_testthat: 'false' | ||
run_covr: 'false' | ||
has_testthat: 'true' | ||
run_covr: 'true' | ||
run_pkgdown: 'true' | ||
has_RUnit: 'false' | ||
cache-version: 'cache-v1' | ||
|
@@ -52,9 +52,11 @@ jobs: | |
fail-fast: false | ||
matrix: | ||
config: | ||
- { os: ubuntu-latest, r: '4.1', bioc: '3.14', cont: "bioconductor/bioconductor_docker:RELEASE_3_14", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" } | ||
- { os: macOS-latest, r: '4.1', bioc: '3.14'} | ||
- { os: windows-latest, r: '4.1', bioc: '3.14'} | ||
- { os: ubuntu-latest, r: 'devel', bioc: '3.15', cont: "bioconductor/bioconductor_docker:devel", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" } | ||
- { os: macOS-latest, r: 'devel', bioc: '3.15'} | ||
- { os: windows-latest, r: 'devel', bioc: '3.15'} | ||
## Check https://github.com/r-lib/actions/tree/master/examples | ||
## for examples using the http-user-agent | ||
env: | ||
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | ||
RSPM: ${{ matrix.config.rspm }} | ||
|
@@ -85,6 +87,7 @@ jobs: | |
uses: r-lib/actions/setup-r@master | ||
with: | ||
r-version: ${{ matrix.config.r }} | ||
http-user-agent: ${{ matrix.config.http-user-agent }} | ||
|
||
## pandoc is already included in the Bioconductor docker images | ||
- name: Setup pandoc from r-lib | ||
|
@@ -97,21 +100,21 @@ jobs: | |
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) | ||
shell: Rscript {0} | ||
|
||
- name: Cache R packages | ||
- name: Restore R package cache | ||
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os != 'Linux'" | ||
uses: actions/cache@v2 | ||
with: | ||
path: ${{ env.R_LIBS_USER }} | ||
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_14-r-4.1-${{ hashFiles('.github/depends.Rds') }} | ||
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_14-r-4.1- | ||
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel-${{ hashFiles('.github/depends.Rds') }} | ||
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel- | ||
|
||
- name: Cache R packages on Linux | ||
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os == 'Linux' " | ||
uses: actions/cache@v2 | ||
with: | ||
path: /home/runner/work/_temp/Library | ||
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_14-r-4.1-${{ hashFiles('.github/depends.Rds') }} | ||
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_14-r-4.1- | ||
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel-${{ hashFiles('.github/depends.Rds') }} | ||
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel- | ||
|
||
- name: Install Linux system dependencies | ||
if: runner.os == 'Linux' | ||
|
@@ -137,6 +140,9 @@ jobs: | |
## For installing usethis's dependency gert | ||
brew install libgit2 | ||
## Required for tcltk | ||
brew install xquartz --cask | ||
- name: Install Windows system dependencies | ||
if: runner.os == 'Windows' | ||
run: | | ||
|
@@ -151,7 +157,7 @@ jobs: | |
|
||
- name: Set BiocVersion | ||
run: | | ||
BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE) | ||
BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE, force = TRUE) | ||
shell: Rscript {0} | ||
|
||
- name: Install dependencies pass 1 | ||
|
@@ -163,22 +169,37 @@ jobs: | |
## https://github.com/r-lib/remotes/issues/296 | ||
## Ideally, all dependencies should get installed in the first pass. | ||
## Set the repos source depending on the OS | ||
## Alternatively use https://storage.googleapis.com/bioconductor_docker/packages/ | ||
## though based on https://bit.ly/bioc2021-package-binaries | ||
## the Azure link will be the main one going forward. | ||
gha_repos <- if( | ||
.Platform$OS.type == "unix" && Sys.info()["sysname"] != "Darwin" | ||
) c( | ||
"AnVIL" = "https://bioconductordocker.blob.core.windows.net/packages/3.15/bioc", | ||
BiocManager::repositories() | ||
) else BiocManager::repositories() | ||
## For running the checks | ||
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****')) | ||
install.packages(c("rcmdcheck", "BiocCheck"), repos = gha_repos) | ||
## Pass #1 at installing dependencies | ||
## This pass uses AnVIL-powered fast binaries | ||
## details at https://github.com/nturaga/bioc2021-bioconductor-binaries | ||
## The speed gains only apply to the docker builds. | ||
message(paste('****', Sys.time(), 'pass number 1 at installing dependencies: local dependencies ****')) | ||
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE, force = TRUE) | ||
remotes::install_local(dependencies = TRUE, repos = gha_repos, build_vignettes = FALSE, upgrade = TRUE) | ||
continue-on-error: true | ||
shell: Rscript {0} | ||
|
||
- name: Install dependencies pass 2 | ||
run: | | ||
## Pass #2 at installing dependencies | ||
## This pass does not use AnVIL and will thus update any packages | ||
## that have seen been updated in Bioconductor | ||
message(paste('****', Sys.time(), 'pass number 2 at installing dependencies: any remaining dependencies ****')) | ||
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE, force = TRUE) | ||
## For running the checks | ||
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****')) | ||
remotes::install_cran("rcmdcheck") | ||
BiocManager::install("BiocCheck") | ||
shell: Rscript {0} | ||
|
||
- name: Install BiocGenerics | ||
|
@@ -197,7 +218,7 @@ jobs: | |
- name: Install pkgdown | ||
if: github.ref == 'refs/heads/main' && env.run_pkgdown == 'true' && runner.os == 'Linux' | ||
run: | | ||
remotes::install_cran("pkgdown") | ||
remotes::install_github("r-lib/pkgdown") | ||
shell: Rscript {0} | ||
|
||
- name: Session info | ||
|
@@ -210,10 +231,12 @@ jobs: | |
- name: Run CMD check | ||
env: | ||
_R_CHECK_CRAN_INCOMING_: false | ||
DISPLAY: 99.0 | ||
run: | | ||
options(crayon.enabled = TRUE) | ||
rcmdcheck::rcmdcheck( | ||
args = c("--no-build-vignettes", "--no-manual", "--timings"), | ||
build_args = c("--no-manual", "--no-resave-data"), | ||
args = c("--no-manual", "--no-vignettes", "--timings"), | ||
build_args = c("--no-manual", "--keep-empty-dirs", "--no-resave-data"), | ||
error_on = "warning", | ||
check_dir = "check" | ||
) | ||
|
@@ -231,6 +254,8 @@ jobs: | |
shell: Rscript {0} | ||
|
||
- name: Run BiocCheck | ||
env: | ||
DISPLAY: 99.0 | ||
run: | | ||
BiocCheck::BiocCheck( | ||
dir('check', 'tar.gz$', full.names = TRUE), | ||
|
@@ -250,11 +275,11 @@ jobs: | |
if: github.ref == 'refs/heads/main' && env.run_pkgdown == 'true' && runner.os == 'Linux' | ||
run: R CMD INSTALL . | ||
|
||
- name: Deploy package | ||
- name: Build and deploy pkgdown site | ||
if: github.ref == 'refs/heads/main' && env.run_pkgdown == 'true' && runner.os == 'Linux' | ||
run: | | ||
git config --local user.email "[email protected]" | ||
git config --local user.name "GitHub Actions" | ||
git config --local user.name "$GITHUB_ACTOR" | ||
git config --local user.email "[email protected]" | ||
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) | ||
|
@@ -266,15 +291,15 @@ jobs: | |
if: failure() | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: ${{ runner.os }}-biocversion-RELEASE_3_14-r-4.1-results | ||
name: ${{ runner.os }}-biocversion-devel-r-devel-results | ||
path: check | ||
|
||
- uses: docker/build-push-action@v1 | ||
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && runner.os == 'Linux' " | ||
with: | ||
username: ${{ secrets.DOCKER_USERNAME }} | ||
password: ${{ secrets.DOCKER_PASSWORD }} | ||
repository: lieberinstitute/qsvaR | ||
repository: lieberinstitute/qsvar | ||
tag_with_ref: true | ||
tag_with_sha: true | ||
tags: latest |