Re: Please stop committing on a broken build! ([Testbot] Plone 5.0 - Python 2.7 - Build # 1925 - Regression! - 6 failure(s))
Gil Forcada <[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <1395515940.26555.8.camel@patam> |
El dv 21 de 03 de 2014 a les 09:27 +0100, en/na Timo Stollenwerk va escriure: > Am 21.03.2014 08:38, schrieb Laurence Rowe: > > We can't just merge features and then keep the build broken for weeks. > > People are committing anyways, breaking more stuff without notice and in > > the end someone has to clean up that mess. The longer we keep the build > > broken the harder it gets... > > > > I try to keep track and remind people if they break things, but that > > only works well if the build is green in the first place. > > > > > > Would it be possible to get tests running on feature branches as well as > > master / version branches? It seems unavoidable that occasionally > > checkins will break the build, but if those checkins are always made to > > a feature branch and merging of the feature to master happens only after > > looking at the build status then master should stay green. (Ideally one > > first merges from master to the feature branch to ensure the merge back > > is clean.) > > > > I realise the above is very tricky for a system as complex as Plone, but > > I've found it to be a great help in my (much smaller) current project. > > This is what I would love to have. Though, as you said, this is not > trivial to implement. > > Cheers, > Timo Hi all, My 0,5 cents (and 100+ words) about it: What we have at the company I work works quite well for us (a simplified version of [1] actually and modified to fit in Plone below): - master branch should never fail and is only used to merge already proved changes (i.e. you usually never push commits there) - a develop branch is used to do you day to day commits (or feature branches if your changes are big enough) - once your feature branch is complete and all tests passes you should be able to update the branch in buildout.coredev (develop branch) - if that still works you can rebase buildout.coredev master branch into develop branch (so make both branches point to the same commit) Regarding PLIPs, we already have jenkins jobs for that, isn't it? Maybe we should extend the PLIP definition to also say that a jenkins job needs to be created for it. And to top it all, it would be cool if we have a branch in buildout.coredev called "tests-passed" this is updated only by jenkins once a buildout.coredev specific build is green. Then all PLIPs jenkins jobs could be instrumented to checkout buildout.coredev on that specific branch and then run the tests for the given PLIP they are supposed to run tests for. This way PLIPs will always run from a "green" buildout and thus if they fail it will be most likely integration problems due to the PLIP changes not unrelated ones. Cheers, Gil Forcada [1] http://nvie.com/posts/a-successful-git-branching-model/ ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ Plone-developers mailing list Plone-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/plone-developers
signature.asc
(application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCgAGBQJTLeIkAAoJEOkuw3EAluZaHD4P/2VVbfa7EhETCNzOcTmpR5+S VBCUKxlkhUfkWnH3Mdwh+1vtIhrEqbI5jBTUGeAl10OPWgI9ooU9weNi8AonIjEn zKgE24PSVrkiKuIF3Z0iGd4X+i2htIn9eV8XmKFjro68o7dqYAp5WTNsZMYjS5nA 6qzCtIRLCK3il3cCAL+j9Vyj3JxqdtDm1RFCjZP5tEeXn607GODSVDuglIpxs3uI D3/sDltFC36A3NmJfLbc+o9j9nCGtlTFfd8rVM5FC+mrHoScA3XZ84mesIez9+iB ZIHp4Rlhb6xBxk0FUrRoxnYbBQhsVbFyBMUAPhUkYbWrrzUeJm8CQLSJ9Nwxvsjj FChFxSHDgLNpmRl1IphYiArAwO6UwUH3MBBctJesSzd7DClgtrvNEepQlRteBcJ8 8YYNKZ4aD1acOGTkytXJaGcVGb6kOot/MPCaCZRoIMcHIqwW0idKHBnjzJpINkjk X/cD8wjAkPNbTvWtaYM2cxcKoMCEj4AldzMENCFgoo4X0wCdMzYVlWO7dGaWDNGO paElm7eKx2XCXODPaxBfKKcCUlBQKGOrnmAsBjXpEajIN+ce1zwTWOWhUDcextEX pFpG34iIes+OdHZyXRPRCM2HRijWfP8H+PsYEKBdPrXgYCknuuqX+kmXLZyNmqKE R8r0HURcKM+TgymIBxpY =zRTf -----END PGP SIGNATURE-----