https://github.com/ltla/trojanbookbuilder
Sneak books onto the Bioconductor build system with a trojan package.
https://github.com/ltla/trojanbookbuilder
Last synced: about 1 year ago
JSON representation
Sneak books onto the Bioconductor build system with a trojan package.
- Host: GitHub
- URL: https://github.com/ltla/trojanbookbuilder
- Owner: LTLA
- Created: 2020-08-10T00:42:35.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T18:44:39.000Z (over 5 years ago)
- Last Synced: 2025-02-10T12:29:40.213Z (over 1 year ago)
- Language: R
- Size: 22.5 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Trojan Book Packages for the BBS
## Overview
This is a GitHub Action to construct a "trojan package" to sneak books into the Bioconductor Build System (BBS).
To use it, you will need:
- A GitHub repository containing a **bookdown** book, compilable by running `bookdown::render_book` in its top-level directory.
This should have a `DESCRIPTION` file describing all the necessary dependencies.
- A GitHub repository containing the trojan R package, following the Bioconductor requirements for a workflow package.
Non-book dependencies should be listed in `OriginalDepends:`, `OriginalImports:` or `OriginalSuggests:`.
## Effects
This action will "transplant" the book contents into the `vignettes/` subdirectory of the trojan.
Combined with appropriate `Makefile` instructions, this can trick the BBS into compiling the book along with the usual vignettes.
The subsequent tarball will contain the compiled book for downloading and posting online.
The book's dependencies are added to the trojan's `DESCRIPTION` so that the correct packages are available.
Note that this will wipe any existing dependencies, so anything important should instead be listed in the `Original*` fields.
The version and date are also bumped if there were any changes in the trojan's contents due to these actions.
## Deployment
This action should be used in a scheduled GHA workflow in the trojan repository:
```yaml
- name: Transplant book contents
uses: LTLA/TrojanBookBuilder@master
with:
book: Bioconductor/OrchestratingSingleCellAnalysis
```
It should be used after [`checkout`](https://github.com/actions/checkout) whereupon it will make changes to the workspace;
such changes can be committed with a subsequent `git add -A` step.
An additional step can then be used to push changes to the Bioconductor Git servers,
given a secret containing an appropriate private key.
Readers are referred to the GitHub Action at https://github.com/LTLA/OrchestratingSingleCellAnalysisBook as a working example.