ICESat-2 Cookbook Contribution Guidelines
Ways to Contribute 🪄¶
- Fixing typographical or coding errors
- Submitting bug reports or feature requests through the use of GitHub issues
- Improving documentation and testing
- Sharing tutorials or workflows
Requesting a Feature 🚀¶
Check the project issues tab to see if the feature has already been suggested.
If not, please submit a new issue describing your requested feature or enhancement using the New Tutorial Request template.
Please give your feature request both a clear title and description.
Let us know if this is something you would like to contribute to the icesat2-cookbook
.
Reporting a Bug 🐛¶
Check the project issues tab to see if the problem has already been reported. If not, please submit a new issue so that we are made aware of the problem. Please provide as much detail as possible when writing the description of your bug report. Providing information and examples will help us resolve issues faster.
General Guidelines¶
- Make each pull request as small and simple as possible
- Commit messages should be clear and describe the changes
- Larger changes should be broken down into their basic components and integrated separately
- Bug fixes should be their own pull requests with an associated GitHub issue using the Bug Report template.
- Write a descriptive pull request message with a clear title
- Please be patient as reviews of pull requests take time
Steps to Contribute¶
- Fork the repository to your personal GitHub account by clicking the “Fork” button on the project main page. This creates your own server-side copy of the repository.
- Either by cloning to your local system or working on a hosted JupyterHub (such as CryoCloud), create a work environment to make your changes using either
conda
orpixi
. - Add your fork as the
origin
remote and the original project repository as theupstream
remote. While this step isn’t a necessary, it allows you to keep your fork up to date in the future. - Create a new branch to do your work.
- Make your changes on the new branch.
- Push your work to GitHub under your fork of the project.
- Submit a Pull Request from your forked branch to the project repository.
Continuous Integration¶
We use GitHub Actions continuous integration (CI) services to build the Jupyterbook.
The configuration files for this service are in the GitHub workflows directory.
The workflows use the cookbook-actions
provided by Project Pythia.
Semantic Commit Messages¶
Please follow the Conventional Commits specification for your commit messages to help organize the pull requests:
<type>: <subject>
[optional message body]
where <type>
is one of the following:
feat
: adding new features or programsfix
: fixing bugs or problemsdocs
: changing the documentationstyle
: changing the line order or adding commentsrefactor
: changing the names of variables or programsci
: changing the continuous integration configuration files or scripts