Hi all, since we’re seeing a pretty significant increase in pull requests (primarily from github), I’d like to remind everyone about some guidelines for committing and testing. This applies to both commits you make on someone else’s pull request, as well as to your own commits.
1. Make sure to review the code, particularly if it’s someone else’s code that you are committing (merging). If you are uncertain, it’s always ok to ask for another pair of eyeballs to take a look. Remember, we do commit then review, and it’s everyones responsibility to review code. 2. Make sure to run all tests before committing. This means at a *minimum*: - sudo traffic_server -R 1 - make test #from top of build tree Neither should fail, both are mandatory to always succeed. For extra bonus and good karma, run tsqa as well (although, that is not as straightfoward as we’d like, yet). 3. Not required, but definitely recommended for large changes: Make a debug build, and run all tests in debug mode. Additionally, I highly recommend everyone has a CentOS6 VM to test builds on, this is our minimum required “platform”. 4. If you are adding new features, or modifying existing features, adding (or modifying) tests is definitely a huge win. Eventually, we might even make it mandatory (but that’s a different topic). 5. Before you commit, make sure the code is properly formatted using clang-format. This is easiest done with a simple “make clang-format”. Make sure you run / use the correct clang-format binary, from https://bintray.com/apache/trafficserver/clang-format-tools/view <https://bintray.com/apache/trafficserver/clang-format-tools/view> . In addition, there are tools there (such as git clang-format) that are also helpful. I’m working on updated the Docs on the Wiki for these processes as well. 6. Before you commit, check the CI status, at https://ci.trafficserver.apache.org <https://ci.trafficserver.apache.org/>. If there are currently build failures on master, I’d strongly recommend that you defer committing, and instead help fixing the build errors. Even just figuring out what failed, and asking the committer to fix it is a bonus. Piling on more code to an already busted build doesn’t help anyone. 7. Make sure to update any documentation, Jira’s (fix versions, resolutions etc.) and close the github pull request (if applicable). 8. Check your emails and CI for build errors *after* you commit. Emails from Jenkins are flaky at best, so it’s always a good idea to eyeball the site once in a while. It doesn’t take long to get a good idea of what the status is. Finally, I’d ask everyone to consider joining the issues@trafficserver mailing list, and monitor new and resolved Jira’s, as well as general build errors from Jenkins. Sincerely, — leif