THE code repository for the almighty Thrill-framework.
- Travis-CI Status
- Jenkins Status
- Live Doxygen Documentation
- Testsuite Code Coverage
- Coding Style Guidelines
- Write google tests? Read here
Coding camps are times of anarchy. Anarchy does not need to stick to workflow. 😡
- compile all code during build tests!
- no duplication of example code!
- contains API examples for the future users.
- e.g. full code of wordcount and page rank for them to learn from.
- contains unit tests
- contains integration? tests that ensure that all API examples (the code therein! not a copy) works correctly.
- internal example program (e.g. cmdline parser)
- performance tests. e.g. hash table never runs slower than unordered map. run on EVERY! test run.
- only the scripts to run and plot the benchmarks. no results.
- code internal micro-benchmarks, e.g. hash table.
- code of internal micro-benchmarks must be compiled during build testing, but not run!
- steps 1 - 5 (see below)
- merge into master and push
- Assign JIRA ticket to yourself & pull to 'In Progress' 👈
- Code & commit to branch CA-XXX/name-of-the-ticket
- Run fancy code clean scripts
- run
perl misc/analyze-source.pl
from source root, READ the output. - run
perl misc/analyze-source.pl -w
to write changes.
- Push feature branch to remote
- Check result of build server
- Notify reviewer (assign JIRA ticket, move to 'In Review') 👀
- Reviewer commits small changes to feature branch (GOTO 4), bounces big changes back to you and re-assigns ticket to you (GOTO 2) 👊
- Let build server commit feature branch to master 👌
- build server is happy
- changes have been documented (if necessary)
- at least one reviewer saw it and is happy (more happy reviewers are better 💕)
- no tests have been removed (better: new features covered by tests)
- 100% code compile coverage
- Fetch the latest version of master branch
- Checkout your feature branch
git merge master
- resolve merge conflicts
- push your feature branch to remote
- wait for build server to be happy
- let build server merge to master