Skip to content

Git process for contributing to Scilla

Anton Trunov edited this page Jul 8, 2022 · 9 revisions

These instructions are for the Scilla team and may not apply to community contributions.

  • Create a new branch to work on.
    • If the feature / bug is associated with a GitHub Issue, prefix your branch name with the issue number. For example 385_cashflow_adts.
    • If there is no associated GitHub Issue, don't worry about prefixing anything. Just choose a meaningful name for the branch
  • After the bug / feature is complete, create a pull request on GitHub.
    • If the PR has an associated Issue and if merging the PR should close the Issue, add the comment "resolves #XYZ" in the PR description (where XYZ is the Issue number). This will automatically close the Issue once the PR is merged.
  • Features and fixes should be in separate PRs. Please do not mix these "while we are at it". Mixing features and fixes makes it harder to cherry-pick commits for bug-fix releases.
  • Fix formatting issues. A Makefile target is provided to run ocamlformat and make the code standard conformant.Run make fmt to automatically achieve this. Non-conformant code will be flagged as errors by the CI.
  • Reviewers will be added automatically basing on .github/CODEONWERS file
  • Once the PR is approved by a reviewer you can merge it. IMPORTANT: When merging the PR, be sure to select "Squash and Merge" in the GitHub UI.

Squash and Merge

  • In the rare scenario that you have another feature branch forking from the one you're about to merge, and want to avoid conflicts that will arise out of "squash-and-merging", you may do a normal merge. This is NOT RECOMMENDED.
  • Once your PR is merged, delete the branch you were working on. There is a button to delete the branch right after you merge. If you missed it, you can go to "branches" on the main repo page and delete it there.
Clone this wiki locally