чт, 13 июн. 2019 г. в 21:28, Tim Düsterhus <t...@bastelstu.be>:
> Ilya, > > (removed Ben and Christopher from Cc, as this no longer about 51d) > > Am 13.06.19 um 17:01 schrieb Илья Шипицин: > > please find "travis-ci + 51degree" patch attached. > > I'm unhappy with that patch: > > a) It makes unrelated changes to the OpenSSL version (that should be a > separate patch). > b) It removed the "gcc without any flags" build and instead replaced it > with "gcc with all flags, but a separate 51d from all others". > > I consider the "X without any flags" very useful to detect missing > preprocessor guards and code accidentally relying on a build flag. > > I'm aware that there still is "clang without any flags", but there > really should be "clang without any flags" and "gcc without any flags" > as history has shown that they sometimes do things differently. > > All in all the Travis configuration is pretty unorganized by now. It > "randomly" mashes together various options so that everything is somehow > tested at least once, but there is no real logic behind it. As an > example: Why is the Prometheus test added to LibreSSL 2.7.5? Why not > BoringSSL? > > I suggest to draft a real plan on how the tests should proceed, taking > into account to not abuse Travis' free service, before making any more > changes to the configuration. > > I suggest: > > - Linux + gcc with everything disabled. > - Linux + clang with everything disabled. > - Linux + gcc with everything enabled (incl. device detection and > prometheus). > "everything enabled" is impossible. 51degrees may be enabled in two mutually exclusive ways. it doubles number of build configurations. > - Linux + clang with everything enabled (incl. device detection and > prometheus). > - Linux + gcc with ONLY SSL enabled for each of the various SSL > libraries. > - Mac + clang with everything from core HAProxy enabled (no device > detection and prometheus). > - Windows with everything from core HAProxy enabled (no device > detection and prometheus). > > That way the edge cases (everything enabled and everything disabled) are > systematically tested. The less important platforms (Windows / Mac; > everything that is not the default OpenSSL) get some basic exposure > without skyrocketing build times, because things are redundantly tested > (e.g. no need to test compression with each SSL library, that's why only > SSL should be enabled for those). > > Best regards > Tim Düsterhus >