rOpenSci Packages: Development, Maintenance, and Peer Review
rOpenSci's guide for packages in our suite. Read it here.
Contributing
Suggestions and updates
This book contains our guidelines for packages contributed to the rOpenSci suite of packages. They are always a work in progress - corrections, suggestions and general improvements are welcome as issue submissions in this repository. Open discussions are welcome in our forum. You can also suggest changes by editing the .Rmd
files that are at the root of this repository and submitting a pull request. An "edit" button at the top of all book chapters will take you directly to the relevant page on GitHub to make such changes. Please target your pull requests to the main
branch.
Technical details
Deployment is done via GitHub Actions. The book has a production version https://devguide.ropensci.org/ and a development version https://devdevguide.netlify.com/ Both are updated when there are changes in their sources but also once a day to ensure the reviewers list is up to date (data pulled from Airtable).
-
prod.yml: whenever there's a GitHub release, the book is built and its content is then pushed to the
gh-pages
branch. That branch serves ropensci.github.io/dev_guide which is redirected to https://devguide.ropensci.org/ -
scheduled-manual-main.yml: once a day the book is built with the source from the latest release (see "Checkout latest release tag" step) and pushed to the
gh-pages
branch. -
dev.yml: whenever there's a push to the default branch
main
, and once a day, the book is built and its content is then pushed to thedev-site
branch that gets deployed to Netlify. -
pr.yml: whenever there's a pull request to the default branch
main
, the book is built and its content is deployed via Netlify.
Refer to this blog post for more details and resources about bookdown deployment on GitHub Actions.
Notes for associate editors
If you're an associate editor, you can also push directly to main
for small fixes. We shall use PRs to main
for discussing larger updates.
If you're an associate editor and you want to render the book locally you need to install bookdown
and the other dependencies stated in DESCRIPTION in particular use devtools::install_github("bergant/airtabler")
, and get and store an Airtable API key following their instructions (if you're not an editor, you don't have access to our Airtable base). Then use bookdown::render_book('index.Rmd', 'bookdown::gitbook')
and the book will be generated in the _book
folder; you can open the book on the command line by doing open _book/index.html
.
Meta
This book was started using Sean Kross' minimal bookdown example.
All of the content of this repository is licensed CC-BY-SA.
You can cite this book using its Zenodo metadata and DOI.