Contributing
Thank you for contributing to ClimaTimeSteppers! We encourage Pull Requests (PRs). Please do not hesitate to ask questions, or to open issues if something seems amiss or you'd like a new feature.
Some useful tips
- Start by forking the repository on GitHub, then clone your fork locally:
git clone https://github.com/YOUR_USERNAME/ClimaTimeSteppers.jl.git cd ClimaTimeSteppers.jl git remote add upstream https://github.com/CliMA/ClimaTimeSteppers.jl.git - When developing, work on a branch off of the most recent
main. Fetch the latest changes from upstream first:git fetch upstream git checkout -b branch_name upstream/main - Make sure you add tests for your code in
test/, appropriate documentation indocs/, and descriptive inline comments throughout the code. All exported functions and structs must have docstrings. - When your PR is ready for review, clean up your commit history by squashing to 1 commit per PR and make sure your code is current with
mainby rebasing against upstream:git fetch upstream git rebase upstream/main
Continuous integration
After rebasing your branch, you can ask for review. Fill out the template and provide a clear summary of what your PR does. When a PR is created or updated, a set of automated tests are run on the PR in our continuous integration (CI) system.
Formatting check
The JuliaFormatter check verifies that the PR is correctly formatted according to the project's style guidelines (defined in .JuliaFormatter.toml).
To format your code, first add JuliaFormatter to your base environment (one-time setup):
julia -e 'using Pkg; Pkg.add("JuliaFormatter")'Then, in a Julia REPL, run:
using JuliaFormatter; format(".")Documentation
The Documentation check rebuilds the documentation for the PR and verifies that the docs are consistent and generate valid output.