Skip to content

Latest commit

 

History

History
35 lines (18 loc) · 2.23 KB

CONTRIBUTING.md

File metadata and controls

35 lines (18 loc) · 2.23 KB

Contribution guidelines

We follow the ColPrac guide for collaborative practices. New contributors should make sure to read the first section of that guide, but could also read the Further Guidance section if interested.

Workflows

Creating a new pull request

Bumping the version number

When contributing a PR, bump the version number (defined by version = "..." at the top of the base Project.toml) accordingly (as explained by the guidance on the versioning scheme in the ColPrac guide). If unsure about what the new version should be, please just open the PR anyway -- existing contributors will provide a suggestion.

Running tests locally

Firstly, run using Pkg; Pkg.develop("KernelFunctions") at the Julia REPL, and navigate to ~/.julia/dev/KernelFunctions.

Running make test will now run the entire test suite. These tests can take a long time to run, so it's often a good idea to simply comment out the blocks of tests not required in test/runtests.jl. Test files are paired 1-1 with source files, so if you're modifying code in src/foo.jl, you should only need to run the tests in test/foo.jl during development.

Code formatting

Run make format before pushing your changes.

How to make a new release (for organization members)

We use JuliaRegistrator:

On Github, go to the commit that you want to register (this should normally be the commit of a squash-merged pull request on the master branch that has bumped the version number) and add a comment saying @JuliaRegistrator register.

The next release will then be processed automatically. KernelFunctions.jl does use TagBot so you can ignore the message about tagging. Note that it may take around 20 minutes until the actual release appears and you can edit the release notes if needed.