We follow the standard GitHub workflow. We like to track ongoing work using GitHub issues as described in the developer workflow document.
- To submit changes, please create a personal fork of the LLILC repo, push your changes there, and issue a pull request to merge those changes into the master branch of the main repository.
- Please be sure to perform the appropriate formatting and testing as described below before submitting your pull request.
- Whenever possible, please divide any changes you want to make into a
series of small, incremental changes that can be submitted and reviewed
independently. Doing so will
- Make the code easier to review (allowing for higher quality review feedback)
- Keep your work aligned with LLILC's direction and architecture along the way (avoiding wasted time pursuing a direction that ultimately gets abandoned)
- Spare you the pain of keeping large outstanding changes up-to-date with tip-of-tree
- Occasionally we'll deviate from this model and use long-lived branches, which follow another workflow.
Any code being submitted must be formatted per the instructions in the code formatting document. We follow LLVM's coding conventions, as described in our coding conventions document.
The clang-format and clang-tidy exes used in the lab are generated nightly and can be downloaded for local use: here for clang-format and here for clang-tidy.
The test harness document describes the tests we expect to be run for each submission and how to run them.
Looking for an area to contribute to? See our list of open areas.