Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _bookdown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ rmd_files: ["index.Rmd",
"volunteer-to-review.Rmd",
"appendix.Rmd",
"devel-branch.Rmd",
"long-tests.Rmd",
"advanced-build-options.Rmd",
"web-query.Rmd",
"c-and-fortran.Rmd",
"mavericks.Rmd",
Expand Down
48 changes: 42 additions & 6 deletions long-tests.Rmd → advanced-build-options.Rmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
# Long Tests
# Advanced Build Options

## What are they
An optional `.BBSoptions` file at the package root can alter the default
build behavior, such as excluding a package from unsupported platform or
including a package in an optional build.

## Skipping builds on unsupported platforms

In the `.BBSoptions` file, add the line `UnsupportedPlatforms:` with the
platform--`win`, `win64`, or `mac`--or the name of a build node. For example

UnsupportedPlatforms: win64, kjohnson3

## Optional builds: long tests and GPU builds

Two optional builds are available to software packages: long tests and GPU
builds. Maintainers can opt their packages in to these builds using the
`.BBSoptions` file.

### Long tests

#### What are they

Code in the `tests` subdirectory of all Bioconductor software
packages is run by `R CMD check` on a daily basis as part of
Expand All @@ -12,7 +31,7 @@ Package developers who wish to implement `tests` that will be too long
to run in the context of the nightly builds can set up "long tests" in
their package and add the package to the Bioconductor _Long Tests builds_.

## Setup
#### Setup

4 steps:

Expand All @@ -39,7 +58,7 @@ Note that we also run the _Long Tests builds_ for the current release
branch once a week (every Saturday). The latest report for these builds
is [here][release-LongTests-report].

## "Short tests" vs "long tests"
#### "Short tests" vs "long tests"

The _Long Tests_ setup forces developers to split the testing code
in their package between "short tests" and "long tests". The former go in
Expand All @@ -54,8 +73,25 @@ prevent a package from propagating after a version bump. In other words,
even if a package is included in the _Long Tests builds_, propagation
is still determined by the results of the nightly builds.

### GPU builds

If a package needs a GPU to properly build it should be added to the
[GPU builds][devel-GPU-report], which build and check packages on GPU machines.
In the `.BBSoptions` file, maintainers should set `GPU_reliance` term to
`required`:

```
GPU_reliance: required
```

If a package supports GPUs if available, maintainers may opt in to the build
by setting the `GPU_reliance` term set to `optional:

```
GPU_reliance: optional
```

## Need help?

Ask on the [bioc-devel][bioc-devel-mail] mailing list if you have questions or
need help with the _Long Tests builds_.

need help.
4 changes: 3 additions & 1 deletion index.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ knitr::write_bib(c(
[Create a new GitHub repo]: https://help.github.com/articles/create-a-repo/
[detect duplicate commits]: https://github.com/Bioconductor/bioc_git_transition/blob/master/misc/detect_duplicate_commits.py
[devel-LongTests-report]: https://bioconductor.org/checkResults/devel/bioc-longtests-LATEST/
[devel-GPU-report]: https://bioconductor.org/checkResults/devel/bioc-gpu-LATEST/
[devel-software-build-report]: https://bioconductor.org/checkResults/devel/bioc-LATEST/
['devel' version]: #use-devel
[docker]: https://bioconductor.org/help/docker/
Expand All @@ -109,7 +110,7 @@ knitr::write_bib(c(
[git-and-github-learning-resources]: https://help.github.com/articles/git-and-github-learning-resources/
[git-scm]: https://git-scm.com/
[guidelines]: #develop-overview
[long tests]: #long-tests
[advanced-build-options]: #advanced-build-options
[Maintain a _Bioconductor_-only repository]: #maintain-bioc-only
[Maintain GitHub and _Bioconductor_ repositories]: #maintain-github-bioc
[Makevars files]: http://cran.r-project.org/doc/manuals/R-exts.html#Using-Makevars
Expand All @@ -130,6 +131,7 @@ knitr::write_bib(c(
[release-schedule]: https://bioconductor.org/developers/release-schedule/
[release-biocviews]: http://bioconductor.org/packages/release/BiocViews.html
[release-LongTests-report]: https://bioconductor.org/checkResults/release/bioc-longtests-LATEST/
[release-GPU-report]: https://bioconductor.org/checkResults/release/bioc-gpu-LATEST/
[release-software-build-report]: https://bioconductor.org/checkResults/release/bioc-LATEST/
[Removing collaborator]: https://help.github.com/articles/removing-a-collaborator-from-a-personal-repository/
[Resolving a merge conflict using command line]: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
Expand Down