for a long time, we made firmware/GC releases every 2 weeks, Then as development slowed, Bar started making releases every 2 months. During this time we went from Bar doing everything to a github based process where anyone can submit a PR that will get auto-merged if more people vote for it than against it. We keep the firmware and GC version numbers in sync so there isn’t any confusion about what matches with what.
With Bar taking a break at the beginning of the year, we broke the process and have not had a release since January.
One other thing that has changed is that we have multiple teams shipping hardware rather than only Bar.
Currently Bar is waiting for the teams to test on their hardware before formalizing the next release.
I would like to propose the following schedule for new releases with the intent being to remove any dependencies on any individuals.
- At the beginning of even numbered months, we tag and build a possible new release.
- We then wait 7 days to allow people to test the release
- If nobody reports problems, the release becomes official
I’m hoping that we can automate this process similar to how the mergebot works today (a bot creates the tag, builds the packages, creates the issue, and then 7 days later checks the votes and either makes the release or sends out a notification that there are problems to be fixed)
Because I expect equipment providers to come and go over the years, I am listing this as a default go rather than a process that requires an explicit approval by any list of people
I suggest even numbered months as this avoids Jan 1 and July 4 holidays in the testing window. This and the 7 day test period are straw-man suggestions to have a policy to debate,
more background: regular, predictable releases reduce the tendency for people to ruch stuff in beacuse if they miss a release, the next one is not very far off.
I would suggest that when we go to version 2,[1] we consider going to version 2.YYMM so that it’s obvious in the version how much time there is between releases
[1] I think that holey calibration and webcontrol are a combination of features that could justify a version 2 change but that’s just a personal opinion.