One of the first things I'm hoping to do as a developer is to help structure the releases and deployment of new ami and norma code. I think this is really important because a more stable and better documented ecosystem will encourage more people to become involved and will lower the barriers to entry for those who are curious.
I'd obviously be keen for any input people have as to how this should be done but here are some of the things I would like to implement (assuming you also all agree). These are rough ideas and I'm very keen to hear criticism.
- Improve the flow of code from PMRs repositories to the ContentMine ones
- Simplify the branch structure of the repositories: maybe just master and dev?
- Document what each new change brings with release notes: features and bug fixes
- Use github's milestones to track how close we are to a new release
- Release binaries for ease of use (maybe even just the jars if that will work)
- Perhaps also package debs/rpms etc...
I think a key thing to consider is if there is a difference between potential users and potential developers/contributors.
Users probably don't need to build the code on their own machine; they would probably be happy with packages for their OS or a multi platform zip file.
Possible developers need clear access to the most up to date non-(totally)broken code.
If this is the case then should we be striving for a perfect user friendly build always in ContentMine/master ? Or should this contain the newest code to made it easy for developers/people willing to find a broken but recent version?
Perhaps we should not be making 'just' users download the source and build anyway. They should get the most recent 'stable' release. This is also the release that should make it to the CM virtual machine for workshops.
I realise that this is counter to what we agreed post Wednesday meeting but I think it may be worth thinking about.
I think we should build a good systematic way to test if a release is stable enough. Probably this will involve completing tasks similar to the tutorials and it shouldn't do anything nasty. No odd errors etc...
Anyway, please do let me know what you think here or in any other way convenient to you.