Merge stable to master vs cherry-picking

Friedrich W. H. Kossebau kossebau at kde.org
Wed Dec 8 09:36:15 GMT 2021


Am Mittwoch, 8. Dezember 2021, 07:44:32 CET schrieb Ben Cooksley:
> This is why I have been pushing for people to use @stable in their
> .kde-ci.yml files - even for the 'master' branch.
> It is much simpler for people if you can use stable/released dependencies
> when conducting development.

Other than developers the CI though has no issues building all the deps from 
the master branches, right? So I wonder about the relationship here. 

And actually I see a harm if CI does not build master branches against master 
branches of libraries. If there is no testing of new API in the libraries (and 
this means, libraries beyond KF) against consuming products any issues in new 
API added to the libraries might be discovered too late.

If we had endless resources, any product would be built on CI against a set of 
variants of the dependencies, starting with the minimal reuqired versions of 
libraries and then with the latest versions, and then some sensible 
combinations representing what is typical scenario in the real world.
On our CI we only test one variant (per platform). And if we test master 
against master, this tests both the product and the dependency for 
integration.
If we only test master against stable, then the stable of the dependency will 
get tested twice here (as stable against stable also tests the same), but 
nothing will test master. And given master usually sees more changes, it 
should get at least the same coverage.

So please rethink this. Or is there another requirement why the version of a 
dependency developers use locally needs to be the same version as used on CI?

E.g. with KDevelop master, the find_package(LibKompareDiff2 5.0 CONFIG) means 
any version of LibKompareDiff2 from 5.0 to latest should be fine. Developers 
at home can use 5.0, CI can use latest master.

Cheers
Friedrich




More information about the kde-devel mailing list