ilmari@ilmari.org (Dagfinn Ilmari Mannsåker) writes: > Noah Misch <noah@leadboat.com> writes: >> On Thu, Jul 16, 2020 at 11:41:56AM +0100, Dagfinn Ilmari Mannsåker wrote: >>> Instead of doing this on the master branch, would it be worth defining a >>> namespace for branches that the buildfarm tests in addition to master >>> and REL_*_STABLE?
>> Potentially. What advantages and disadvantages has Perl experienced?
> The advantage is getting proposed changes tested on a number of > platforms that individual developers otherwise don't have access to. > For example http://perl.develop-help.com/?b=smoke-me%2Filmari%2Fremove-symbian > shows the reults of one branch of mine. > The only disadvantage is that it takes up more build farm capacity, but > it's not used for all changes, only ones that developers are concerned > might break on other platforms (e.g. affecting platform-specific code or > constructs otherwise known to behave differently across platforms and > compilers).
I'd argue that cluttering the main development repo with dead branches is a non-negligible cost. We have one or two such left over from very ancient days, and I don't really want more. (Is there a way to remove a branch once it's been pushed to a shared git repo?)
Yes, it's trivial to remove a branch from a shared git repo. In modern versions of git, just "git push origin --delete stupidbranch".
The actual commits remain in the repo of course, until such time that it's GCed.
Another issue is that we're not going to open up the main repo for access by non-committers, so this approach doesn't help for most developers. We've had some success, I think, with Munro's cfbot solution --- I'd rather see that approach expanded to provide more test environments.
That one does more or less what Dagfinn suggests except in a separate repo. We could also just have a separate repo for it where people could push if we wanted to. Which could be committers, or others. But in comparison with what Perl does, I would assume actually having "just committers"be able to push would really be enough for that. A committer should be able to judge whether a patch needs extra cross-platform testing (and the cfbot does just fine for the limited platforms it runs on, which would still be good enough for *most* patches).