Skip to content

Git process for contributing to Scilla

Vaivaswatha N edited this page Jan 16, 2020 · 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.
  • 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.
  • Add reviewers. Suggestions ons:
    • For build, docker and travis related changes: vaivaswatha, Gnnng and iantanwx
    • For changes to Scilla contracts in the testsuite: edisonljh, evesnow91, AmritKumar, vaivaswatha, jjcnn
    • For OCaml code changes: ilyasergey, vaivaswatha, jjcnn, anton-trunov, AmritKumar
  • 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