I’d like to propose to have a Build Manager again. The goal would be:
- We can regularly see functional tests failing for a week or more and we also tend to start looking at failing tests only a few days before a release, thus taking a long time to fix and wait for rebuilds.
- Fix more flickering tests
- Improve the PO objects where needed, make sure that tests don’t use getDriver() (that should be only in POs).
- Convert old func tests to docker-based tests
- Add missing tests as raised by Ilie with jira issues
- Review/Analyze/Fix CI environment issues
- Generally, anything related to the build stability on the CI
The idea would be to have a rolling Build Manager in the same way we have a rolling Release Manager. The reason I’m not proposing the RM to be also the BM is because a RM role lasts for 3 weeks and it’s a long time to be responsible for the build, and the RM already has a lot to do. I think it would be easier to have weekly BM, as we used to have.
I’d propose to use what we defined in the past: Development Practices (Community.DevelopmentPractices) - XWiki (we should probably update a bit the description to match more our current need in order to give more updated examples).
We could also improve Build Manager Roster (Community.BuildManagerRoster) - XWiki by generating the next BM automatically and sending a notification email every week to the new BM.
One important goal of the BM would be that every week, the CI is left in a more stable state than it was before each BM started working on it, so that we progress on the CI, instead of going the other way around.
This means that the BM role would not be a best effort role but an active role with time planned and dedicated to the role for the person responsible for the build.
Specifically, this means a bit less time for the roadmap. For the BM week, I’d propose the BM to work 2 hours per day (which ends up to being 20% of the week, but I think it’s important that the work be every day, to discover problems early for example. Also I think the day should start with these 2 hours as pushing them for later would risk missing them, ofc that should be a guideline only). Globally, since we’re more than 4 devs, this would mean 20% spent on the build officially per release and about 1 to 1.2 days per month per person, which seems reasonable to me.
WDYT? I wonder if 2 hours is enough to progress enough or if it should be 4 hours (1/2 day), opinions?