Skip to content
Pavel Panchekha edited this page Mar 7, 2024 · 10 revisions

Most of the pages on this Wiki are very old, but I'm going to try to use this to document project processes.

Contributing code

To get your code merged, you have to make a branch on this repository (not a fork), push your code there, and make a pull request. In the pull request description, describe the goal of the PR, any background on how things currently work, and then what your changes are. It should be a paragraph or two for non-trivial changes. Check the diff to make sure you didn't include unnecessary files or changes. Add someone senior that makes sense as a reviewer.

Check the "Github Action" CI results. You should pass all of them. Your code likely won't be reviewed if the tests fail. If you're not sure why it's failing or how to fix it, reach out to someone senior on the Slack.

Simultaneously, watch the Slack for nightly results. The nightlies aren't pass/fail; it depends on what your change is trying to accomplish. If it's a refactor, you probably want identical results to main. If it's a pure optimization, you probably want identical results and a faster runtime. If it's some other change, investigate the effects using the built-in nightly diff tools and confirm that the results are what you expected (the change fires when you want it to) and that there aren't regressions (find all regressions & investigate). Add a comment to the PR with the results from the nightlies.

When your PR is reviewed, make sure to go over any comments. If you make the recommended changes, press "Resolve comment" to make the comment go away, or you can discuss the comment further. If your PR is "approved" that means that, once you've looked at remaining comments, passed tests, and gotten a good nightly result, you can merge. You press the merge button, not the reviewer.

If your PR isn't approved, keep working with the reviewer to address comments and get it merged. It's a good idea to work through remaining issues in an implementors' meeting. When you think they're all addressed, press the "Re-request review" button in Github to notify the reviewer that you're done and want another review.