-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Currently, adding and properly testing new packages is a painful and unintuitive process. To be able to properly test things one must:
- Add a dummy (compilable) code to mainline of the new package;
- Open a PR to a mainline package set
- Merge the package set PR
- Open a PR of the "first version" of the new package
Step 1 is necessary because otherwise, the package set PR (from step 2) build fails, and step 3 is necessary because otherwise the daemon won't generate an override entry for the new package (because it is not defined yet). This is very difficult to understand for people that are not familiar with how all the pieces work together.
Now, there is https://github.com/rock-core/autoproj-github that handles new packages by switching package sets branches before generating overrides. This may involve multiple restarts and it is hard to guarantee consistency if something breaks between restarts (would have to implement some kind of rollback mechanism) so it is hard to implement something like that in the daemon itself.
My proposal then is to remove the buildconf management feature (no longer pushing overrides to buildconf) from autoproj-daemon and adding autoproj-github plugin steps (install plugin and generate overrides) to buildbot-ci before the "autoproj update" step. This also has the benefit of guaranteeing that manually triggering a rebuild from within buildbot's webui will always test things with up-to-date overrides.
We lose the ability of tracking which PRs are known to the daemon by looking into the buildconf branches but that's not something I ever do and I wonder if others would (buildbot's webui is much better for that with the virtual builders thing).
@doudou What do you think?