Fork the GitHub ASF Mirror Repo

Work On a New Feature

Assume we have cloned the forked repo, and will work on a feature called QUICKSTEP-101.

git submodule update --init

git checkout -b quickstep-101

git add some-changed-or-new-files

Then test your changes doing at least the following:

Check if your code confirms to the code guidelines by running the following command from the root of the quickstep source directory: python third_party/cpplint/lint_everything.py

Check for CMake validation errors by running the following command from the root of the quickstep source directory: python validate_cmakelists.py

Check for cyclic dependencies by running the following command from the root of the quickstep source directory: python cyclic_dependency.py

From the build directory, run all the tests using the command: ctest -j`sysctl -n hw.ncpu`

If you have made changes to the parser to add new tokens and/or grammar rules, please run the script parser/genfiles.sh and check the generated files into the directory parser/preprocessed.

git commit -m "QUICKSTEP-101: Added My Awesome Feature."

git push origin quickstep-101

Sometimes, there may be code review comments after a PR has been opened. Address these comments and then do the following:

git add more-changed-or-new-files

git commit -m "Addressed Review Comments."

Finally, once the PR is ready to be merged (i.e. it has passed all the tests and the python validation scripts as described above), we need to squash all the commits into one commit. We cherry pick the first commit, and squash all the rest as follows: