Skip to content

Latest commit

 

History

History
148 lines (113 loc) · 23.6 KB

README.md

File metadata and controls

148 lines (113 loc) · 23.6 KB

pyOpenSci Peer Review Guide

All Contributors

GitHub release (latest by date) DOI deploy-book CircleCI

https://www.pyopensci.org/peer-review-guide/

pyOpenSci's guide for developing, reviewing, and maintaining packages.

Contributing to this guide

We welcome issues and pull requests to improve the content of this guide. If you'd like to see an improvement, please open an issue.

To submit a Pull Request with changes:

  1. Create a fork of this repo to make changes.
  2. After making changes, build the book locally from your fork to preview the changes to make sure they appear as expected (see How to build the guide locally below)
  3. When satisfied, push the changes back to GitHub and open a pull request from your fork to the main branch of this repo.
  4. The Continuous Integration processes will build the book and let you and the PR reviewer(s) preview it in your browser (see Automated build and publishing below).
  5. The reviewer of the PR may request modifications.
  6. Once satisfied, the reviewer will merge your pull request! Thanks for your contribution!

How to build the guide locally

The pyOpenSci guidebook is written using Jupyter Book.

To build the guide locally, take the following steps:

  • Clone this repository (or clone your fork by replacing "pyOpenSci" with your GitHub username):

    git clone https://github.com/pyOpenSci/peer-review-guide
    

To build, follow these steps:

  1. Install nox
pip install nox
  1. Build the documentation:
nox -s docs

This should create a local environment in a .nox folder, build the documentation (as specified in the noxfile.py configuration), and the output will be in _build/html.

To build live documentation that updates when you update local files, run the following command:

$ nox -s docs-live
  • To view your built book:

Navigate to _build/html/ on your local clone of the repo and open "index.html".

Automated build and publishing

Whenever a pull request is opened or changes are pushed to any branch of the base repository, the book is built (separately) by both GitHub Actions and CircleCI.

Why both GitHub Actions and CircleCI?

  • GitHub Actions is the main build tool. In addition to building whenever a pull request is opened from a fork, it handles publishing the book when changes are made to the main branch (e.g. once the pull request is merged). When that happens, it pushes the built html files to the gh-pages branch, which publishes the book to the website.
  • CircleCI's build is redundant, but it offers an easier way of viewing the built html in browser WITHOUT merging the changes to main or downloading files. See How do you preview the the guide from a Pull Request below for details.

How do you preview the guide from a Pull Request?

  • (Recommended) Via the artifact redirector workflow: When viewing the checks in a pull request, click "Details" next to the "Click to preview rendered book" to be automatically taken to the CircleCI index.html preview. This is performed using the circleci-artifacts-redirector-action workflow. See the gif below for a demonstration.
  • Via CircleCI: Go to the CircleCI job and select the "Artifacts" tab. Click on "index.html" to preview the built book.
  • Via GitHub Actions alone: GitHub Actions also saves the built html files for preview, but you have to download and unzip the files to your local computer. Go to your deploy-book build in the Actions tab. Then select "book-html" in the "Artifacts" pane near the bottom of the page. After downloading, unzip the book-html.zip file into a separate directory and open "index.html" from the directory with the unzipped files. The book should open in your web browser.

preview_book2

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Tom Augspurger
Tom Augspurger

💻 👀 🎨
Ariane Sasso
Ariane Sasso

💻 👀 🎨
Ryan Abernathey
Ryan Abernathey

💻 🎨 👀
David Nicholson
David Nicholson

💻 👀 🎨
Stefan van der Walt
Stefan van der Walt

💻 👀 🎨
Erik Welch
Erik Welch

💻 👀 🎨
Alex Batisse
Alex Batisse

💻 👀 🎨
Chiara Marmo
Chiara Marmo

💻 👀 🎨
Yuvi Panda
Yuvi Panda

💻 🎨 👀
Niels Bantilan
Niels Bantilan

💻 👀
Carol Willing
Carol Willing

👀 💻
Chris Holdgraf
Chris Holdgraf

👀 💻 🎨
Steve Moss
Steve Moss

👀 💻
Ivan Ogasawara
Ivan Ogasawara

👀 💻
Kylen Solvik
Kylen Solvik

👀 💻 🎨
Matthew Brett
Matthew Brett

👀 💻
Zehua Chen
Zehua Chen

👀 💻
Sumit Kashyap
Sumit Kashyap

💻 👀
Erik Sundell
Erik Sundell

👀 💻
Max Joseph
Max Joseph

👀 💻
Ariel Rokem
Ariel Rokem

👀 💻
James Mason
James Mason

👀 💻
Juan Luis Cano Rodríguez
Juan Luis Cano Rodríguez

💻 👀
Mahe Iram Khan
Mahe Iram Khan

💻 👀
Qin
Qin

💻 👀
David Stansby
David Stansby

💻 👀
P. L. Lim
P. L. Lim

💻 👀
Nick Murphy
Nick Murphy

💻 👀
Hans Moritz Günther
Hans Moritz Günther

💻 👀
g-patlewicz
g-patlewicz

💻 👀
ruoxi
ruoxi

💻 👀
Gregor Sturm
Gregor Sturm

💻 👀
Sean Kelly
Sean Kelly

💻 👀
Jesse Mostipak
Jesse Mostipak

💻 👀
Tobias Megies
Tobias Megies

💻 👀
C. Titus Brown
C. Titus Brown

💻 👀

This project follows the all-contributors specification. Contributions of any kind welcome!