On 21.07.2017 06:21, David Anderson wrote: > Stable branches for server and API: yes. > (prerequisite to this is a way of thoroughly testing these components, > which we don't currently have. > How about if people start discussing this?)
I don't see having thorough tests as a prerequisite to having a stable branch. What matters is that we are working toward making a branch stable by finding ways to test the code. Testing the code is a technical issue to be solved. Declaring what branches there should be is a management issue. Both are independent from each other. We can decide what branches to use for what purpose before we implement tests. In fact I think it would be easier to make the decision about the branching model up front and then gradually implement tests on the stable branches. After some time we then declare the stable branch to be stable. It does not need to be stable from the beginning. I already made several attempts to discuss using testing frameworks in BOINC. There was no resonance at the time. What I want BOINC to do is to make an informed decision what framework to use before starting to implement actual tests are even begin to implement a custom test framework. What I also want to prevent from the start is that I'm the only user of this test framework. If BOINC is going to get a test framework their must be a decision to make sure that every new feature needs to have accompanying tests (that are derived from a reference or are the reference themselves). When fixing bugs it should also be made mandatory to check if an automated test would have caught this bug and then provide such a test alongside the bugfix. These simple rules, when enforced, make sure that at least over time the code coverage of tests will increase. > > Separate branch for TBD: no. > TBD has its own completely separate repo. > It requires some features in BOINC (such as keywords) > which are of general utility beyond TDB. The features that TBD needs in BOINC should go into a feature branch and once they are tested they are merged into master. This is to ensure that if a project decides to update their server code while this new feature is developed they don't get a not-production ready feature built into the scheduler when they checkout the master branch. This is, as I see it, the case right now and this is what sparked my initial message. There are other developers working on BOINC at the same time and we somehow need to coordinate our work and how to integrate it into BOINC. With git and github we have powerful tools available that help us in this regard and that help us automate a lot of the stuff that needs doing we just need to embrace them and use them. Regards Christian _______________________________________________ boinc_dev mailing list boinc_dev@ssl.berkeley.edu https://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.