Skip to content

Commit 6a84475

Browse files
jwokatyA Wokaty
andauthored
Consolidate long tests, gpu builds to advanced build options (#156)
* Consolidate long tests, gpu builds to advanced build options * Replace long-tests with advanced-build-options --------- Co-authored-by: A Wokaty <[email protected]>
1 parent 812a7f4 commit 6a84475

File tree

3 files changed

+46
-8
lines changed

3 files changed

+46
-8
lines changed

_bookdown.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ rmd_files: ["index.Rmd",
3939
"volunteer-to-review.Rmd",
4040
"appendix.Rmd",
4141
"devel-branch.Rmd",
42-
"long-tests.Rmd",
42+
"advanced-build-options.Rmd",
4343
"web-query.Rmd",
4444
"c-and-fortran.Rmd",
4545
"mavericks.Rmd",

long-tests.Rmd renamed to advanced-build-options.Rmd

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
1-
# Long Tests
1+
# Advanced Build Options
22

3-
## What are they
3+
An optional `.BBSoptions` file at the package root can alter the default
4+
build behavior, such as excluding a package from unsupported platform or
5+
including a package in an optional build.
6+
7+
## Skipping builds on unsupported platforms
8+
9+
In the `.BBSoptions` file, add the line `UnsupportedPlatforms:` with the
10+
platform--`win`, `win64`, or `mac`--or the name of a build node. For example
11+
12+
UnsupportedPlatforms: win64, kjohnson3
13+
14+
## Optional builds: long tests and GPU builds
15+
16+
Two optional builds are available to software packages: long tests and GPU
17+
builds. Maintainers can opt their packages in to these builds using the
18+
`.BBSoptions` file.
19+
20+
### Long tests
21+
22+
#### What are they
423

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

15-
## Setup
34+
#### Setup
1635

1736
4 steps:
1837

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

42-
## "Short tests" vs "long tests"
61+
#### "Short tests" vs "long tests"
4362

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

76+
### GPU builds
77+
78+
If a package needs a GPU to properly build it should be added to the
79+
[GPU builds][devel-GPU-report], which build and check packages on GPU machines.
80+
In the `.BBSoptions` file, maintainers should set `GPU_reliance` term to
81+
`required`:
82+
83+
```
84+
GPU_reliance: required
85+
```
86+
87+
If a package supports GPUs if available, maintainers may opt in to the build
88+
by setting the `GPU_reliance` term set to `optional:
89+
90+
```
91+
GPU_reliance: optional
92+
```
93+
5794
## Need help?
5895

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

index.Rmd

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ knitr::write_bib(c(
9393
[Create a new GitHub repo]: https://help.github.com/articles/create-a-repo/
9494
[detect duplicate commits]: https://github.com/Bioconductor/bioc_git_transition/blob/master/misc/detect_duplicate_commits.py
9595
[devel-LongTests-report]: https://bioconductor.org/checkResults/devel/bioc-longtests-LATEST/
96+
[devel-GPU-report]: https://bioconductor.org/checkResults/devel/bioc-gpu-LATEST/
9697
[devel-software-build-report]: https://bioconductor.org/checkResults/devel/bioc-LATEST/
9798
['devel' version]: #use-devel
9899
[docker]: https://bioconductor.org/help/docker/
@@ -109,7 +110,7 @@ knitr::write_bib(c(
109110
[git-and-github-learning-resources]: https://help.github.com/articles/git-and-github-learning-resources/
110111
[git-scm]: https://git-scm.com/
111112
[guidelines]: #develop-overview
112-
[long tests]: #long-tests
113+
[advanced-build-options]: #advanced-build-options
113114
[Maintain a _Bioconductor_-only repository]: #maintain-bioc-only
114115
[Maintain GitHub and _Bioconductor_ repositories]: #maintain-github-bioc
115116
[Makevars files]: http://cran.r-project.org/doc/manuals/R-exts.html#Using-Makevars
@@ -130,6 +131,7 @@ knitr::write_bib(c(
130131
[release-schedule]: https://bioconductor.org/developers/release-schedule/
131132
[release-biocviews]: http://bioconductor.org/packages/release/BiocViews.html
132133
[release-LongTests-report]: https://bioconductor.org/checkResults/release/bioc-longtests-LATEST/
134+
[release-GPU-report]: https://bioconductor.org/checkResults/release/bioc-gpu-LATEST/
133135
[release-software-build-report]: https://bioconductor.org/checkResults/release/bioc-LATEST/
134136
[Removing collaborator]: https://help.github.com/articles/removing-a-collaborator-from-a-personal-repository/
135137
[Resolving a merge conflict using command line]: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

0 commit comments

Comments
 (0)