From 57dc96652efeba9b6f13564957765dd8cc5621e9 Mon Sep 17 00:00:00 2001 From: Gillian Petro <96886803+gspetro-NOAA@users.noreply.github.com> Date: Tue, 5 Apr 2022 17:52:11 -0400 Subject: [PATCH] Add a Contributor's Guide feature to the docs (#228) * create contributor's guide * add guidelines for making good PR * good pull request edits * 1st Draft of COntributor's Guide * minor formatting edits * Add instructions for srw_common module load * fix module files guidance * fix typo * update Intro & BuildRunSRW based on Mark's feedback * minor intro updates * add info on documentation requirements * 1st round of J. Beck's edits * add textonly issue template + minor typo-type fixes * minor edits/formatting * remove pylintrc requirement * fixed .yaml & other minor Co-authored-by: gspetro --- .github/ISSUE_TEMPLATE/textonly_request.md | 20 ++ docs/UsersGuide/source/ContributorsGuide.rst | 353 +++++++++++++++++++ docs/UsersGuide/source/index.rst | 1 + 3 files changed, 374 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/textonly_request.md create mode 100644 docs/UsersGuide/source/ContributorsGuide.rst diff --git a/.github/ISSUE_TEMPLATE/textonly_request.md b/.github/ISSUE_TEMPLATE/textonly_request.md new file mode 100644 index 0000000000..e2be6bb5fe --- /dev/null +++ b/.github/ISSUE_TEMPLATE/textonly_request.md @@ -0,0 +1,20 @@ +--- +name: Text-only request +about: Suggest an idea for this project +title: '' +labels: textonly +assignees: '' + +--- + +## Description +Provide a clear and concise description of the problem to be solved. + +## Solution +Add a clear and concise description of the proposed solution. + +## Alternatives (optional) +If applicable, add a description of any alternative solutions or features you've considered. + +## Related to (optional) +Directly reference any issues or PRs in this or other repositories that this is related to, and describe how they are related. diff --git a/docs/UsersGuide/source/ContributorsGuide.rst b/docs/UsersGuide/source/ContributorsGuide.rst new file mode 100644 index 0000000000..7d5813582c --- /dev/null +++ b/docs/UsersGuide/source/ContributorsGuide.rst @@ -0,0 +1,353 @@ + +.. _ContributorsGuide: + +============================== +SRW App Contributor's Guide +============================== + +.. _Background: + +Background +=========== + +Authoritative branch +----------------------- + +The main development branch for the ``ufs-srweather-app`` repository is ``develop``. The HEAD of ``develop`` reflects the latest development changes. It points to regularly updated hashes for individual sub-components, including the ``regional_workflow``. Pull requests (PRs) will be merged to ``develop``. + +The ``develop`` branch is protected by the code management team: + #. Pull requests for this branch require approval by at least two code reviewers. + #. A code manager should perform the review and the merge, but other contributors are welcome to provide comments/suggestions. + + +Code Management Team +-------------------------- + +Scientists from across multiple labs and organizations have volunteered to review pull requests for the ``develop`` branch: + +.. table:: + + +------------------+------------------------------------------------+ + | **Organization** | **Reviewers** | + +==================+================================================+ + | EMC | Chan-Hoo Jeon (@chan-hoo) | + | | | + | | Ben Blake (@BenjaminBlake-NOAA) | + | | | + | | Ratko Vasic (@RatkoVasic-NOAA) | + +------------------+------------------------------------------------+ + | EPIC | Mark Potts (@mark-a-potts) | + | | | + | | Jong Kim (@jkbk2004) | + +------------------+------------------------------------------------+ + | GLERL/UM | David Wright (@dmwright526) | + +------------------+------------------------------------------------+ + | GSL | Jeff Beck (@JeffBeck-NOAA) | + | | | + | | Gerard Ketefian (@gsketefian) | + | | | + | | Linlin Pan (@panll) | + | | | + | | Christina Holt (@christinaholtNOAA) | + | | | + | | Christopher Harrop (@christopherwharrop-noaa) | + | | | + | | Daniel Abdi (@danielabdi-noaa) | + +------------------+------------------------------------------------+ + | NCAR | Mike Kavulich (@mkavulich) | + | | | + | | Will Mayfield (@willmayfield) | + | | | + | | Jamie Wolff (@jwolff-ncar) | + +------------------+------------------------------------------------+ + | NSSL | Yunheng Wang (@ywangwof) | + +------------------+------------------------------------------------+ + + +.. _ContribProcess: + +Contribution Process +======================== + +The steps below should be followed in order to make changes to the ``develop`` branch of the ``ufs-srweather-app`` repository. Communication with code managers and the code management team throughout the process is encouraged. + + #. **Issue** - Open an issue to document changes. Click `here `__ to open a new ``ufs-srweather-app`` issue or see :numref:`Step %s ` for detailed instructions. + #. **GitFlow** - Follow `GitFlow `__ procedures for development. + #. **Fork the repository** - Read more `here `__ about forking in GitHub. + #. **Create a branch** - Create a branch in your fork of the authoritative repository. Follow `GitFlow `__ conventions when creating the branch. Branches should be named as follows, where [name] is a one-word description of the branch: + + * **bugfix/[name]:** Fixes a demonstrably incorrect portion of code + * **feature/[name]:** Adds a new feature to the code + * **enhancement/[name]:** Improves an existing portion of the code + * **textonly/[name]:** Changes elements of the repository that do not impact program output or log files (e.g., changes to README, documentation, comments, changing quoted Registry elements, white space alignment). Any change which does not impact the compiled code in any way should fall under this category. + + #. **Development** - Perform and test changes in the branch. Document work in the issue and mention the issue number in commit messages to link your work to the issue (e.g., ``commit -m "Issue #23 - "``). Test code modifications on as many platforms as possible, and request help with further testing from the code management team when unable to test on all platforms. Document changes to the workflow and capabilities (either in the ``.rst`` files or separately) so that the SRW App documentation stays up-to-date. + #. **Pull request** - When ready to merge changes back to the ``develop`` branch, the code developer should initiate a pull request (PR) of the feature branch into the ``develop`` branch. Read `here `__ about pull requests in GitHub. When a PR is initiated, the :ref:`PR Template