For Core Developers
This page contains notes that are specific to core developers of TuringLang. Everything on the other Contributing pages applies to core devs too; this is just the extra stuff.
Branches and PRs
You don’t need to make your own fork of the package you are editing. Just make a new branch on the main repository, usually named your-username/change-you-are-making (we don’t strictly enforce this convention though). You should definitely still make a branch and a PR, and never push directly to main or breaking.
All code should generally be reviewed by another core developer and pass continuous integration (CI) checks. Exceptions can be made in some cases though, such as ignoring failing CI checks where the cause is known and not due to the current pull request, or skipping code review when the pull request author is an experienced developer of the package and the changes are trivial.
Making a release
You can make a release of the package after your work is merged into main. This is done by leaving a comment on the latest commit on main, saying
@JuliaRegistrator register
Release notes:
[YOUR RELEASE NOTES HERE]
It is often easiest to take the release notes right from the HISTORY.md file (which is why we ask that PRs include changelog entries).
If you are making a breaking release, your release notes must also contain the string Breaking changes somewhere in them (this is mandated by the @JuliaRegistrator bot).
The @JuliaRegistrator bot will handle creating a pull request into the Julia central package repository and tagging a new release in the repository.