/dev_guide

rOpenSci Packages: Development, Maintenance, and Peer Review

Primary LanguageRCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

rOpenSci Packages: Development, Maintenance, and Peer Review

Project Status: Active – The project has reached a stable, usable state and is being actively developed. DOI

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 the dev-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.