-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update main.yml Replace file with official bioc test suite, generated via biocthis::use_bioc_github_action() * Remove unused code from main.yml covr, pkgdown, etc. were not run because of environment variables, but remove these code chunks anyways to make it easier to read. * Add tibble to DESCRIPTION * Remove github token requirement from workflow * Remove unused and uninstallable packages lpsymphony fails to install on OSX and isn't used. MuMIn is no longer avaliable and isn't used. * Update README.md * Update main.yml Remove explicit version numbering for bioc and R This requires switching to the devel build of bioc. * Update main.yml Change from devel to latest. * Update main.yml
- Loading branch information
1 parent
4300163
commit de59004
Showing
6 changed files
with
171 additions
and
32 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 |
---|---|---|
@@ -1,42 +1,183 @@ | ||
## 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! | ||
|
||
name: build and test | ||
## Acronyms: | ||
## * GHA: GitHub Action | ||
## * OS: operating system | ||
|
||
# Controls when the action will run. Triggers the workflow on push or pull request | ||
# events but only for the master branch | ||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
branches: [ master ] | ||
|
||
name: build and test | ||
|
||
env: | ||
has_testthat: 'true' | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: biobakery/maaslin2:latest | ||
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, cont: "bioconductor/bioconductor_docker", rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest" } | ||
- { os: macOS-latest } | ||
- { os: windows-latest } | ||
## 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 }} | ||
NOT_CRAN: true | ||
TZ: UTC | ||
|
||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/checkout@v2 | ||
## 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 | ||
|
||
## 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 ", "", 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 | ||
## 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: | | ||
## Edit below if you have any Windows system dependencies | ||
shell: Rscript {0} | ||
|
||
- name: Install BiocManager | ||
run: | | ||
message(paste('****', Sys.time(), 'installing BiocManager ****')) | ||
remotes::install_cran("BiocManager") | ||
shell: Rscript {0} | ||
|
||
- name: Set BiocVersion | ||
run: | | ||
BiocManager::install(force = TRUE, ask = FALSE) | ||
shell: Rscript {0} | ||
|
||
- name: Install dependencies pass 1 | ||
run: | | ||
## Try installing the package dependencies in steps. First the local | ||
## dependencies, then any remaining dependencies to avoid the | ||
## issues described at | ||
## https://stat.ethz.ch/pipermail/bioc-devel/2020-April/016675.html | ||
## https://github.com/r-lib/remotes/issues/296 | ||
## Ideally, all dependencies should get installed in the first pass. | ||
## For running the checks | ||
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****')) | ||
install.packages(c("rcmdcheck", "BiocCheck"), repos = BiocManager::repositories()) | ||
- name: Install build and test dependencies from dist | ||
run: apt-get update -y && apt-get install -y libssl-dev libxml2-dev libcurl4-openssl-dev texlive pandoc | ||
## Pass #1 at installing dependencies | ||
message(paste('****', Sys.time(), 'pass number 1 at installing dependencies: local dependencies ****')) | ||
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = FALSE, upgrade = TRUE) | ||
continue-on-error: true | ||
shell: Rscript {0} | ||
|
||
- name: install build and test dependencies from bioconductor | ||
run: R -q -e "BiocManager::install('BiocCheck')" | ||
- name: Install dependencies pass 2 | ||
run: | | ||
## Pass #2 at installing dependencies | ||
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) | ||
shell: Rscript {0} | ||
|
||
- name: Install build and test dependencies from CRAN | ||
run: R -q -e "install.packages(c('knitr','glmmTMB','rmarkdown','markdown'), repos='http://cran.r-project.org')" | ||
- name: Session info | ||
run: | | ||
options(width = 100) | ||
pkgs <- installed.packages()[, "Package"] | ||
sessioninfo::session_info(pkgs, include_base = TRUE) | ||
shell: Rscript {0} | ||
|
||
- name: Build | ||
run: cd $GITHUB_WORKSPACE && R CMD build . | ||
- name: Run CMD check | ||
env: | ||
_R_CHECK_CRAN_INCOMING_: false | ||
DISPLAY: 99.0 | ||
run: | | ||
options(crayon.enabled = TRUE) | ||
rcmdcheck::rcmdcheck( | ||
args = c("--no-manual", "--no-vignettes", "--timings"), | ||
build_args = c("--no-manual", "--keep-empty-dirs", "--no-resave-data"), | ||
error_on = "warning", | ||
check_dir = "check" | ||
) | ||
shell: Rscript {0} | ||
|
||
- name: Install maaslin2 | ||
run: VERSION=$(grep Version DESCRIPTION | cut -d" " -f2) && R CMD INSTALL "Maaslin2_${VERSION}.tar.gz" | ||
## 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: R test | ||
run: VERSION=$(grep Version DESCRIPTION | cut -d" " -f2) && R CMD check "Maaslin2_${VERSION}.tar.gz" | ||
|
||
- name: Bioc test | ||
run: VERSION=$(grep Version DESCRIPTION | cut -d" " -f2) && R CMD BiocCheck "Maaslin2_${VERSION}.tar.gz" | ||
|
||
- name: Run BiocCheck | ||
env: | ||
DISPLAY: 99.0 | ||
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} |
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
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
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 |
---|---|---|
|
@@ -5,7 +5,6 @@ for (lib in c( | |
'lmerTest', | ||
'car', | ||
'parallel', | ||
'MuMIn', | ||
'glmmTMB', | ||
'MASS', | ||
'cplm', | ||
|
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
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