I'm tremendously inspired by this work. What are your thoughts on the idea of having a series of docker container builds that compile and run the test suite on various distributions? I'll volunteer to give this a whack since it's something that's been in the back of my mind for a long while...
I think with the work you've done and plan to do, a step like above to increase our ability to test against many distributions all at once (and cheaply) and also making the test framework more approachable, we could seriously increase our confidence when pulling the trigger on a release or accepting a backport. P.S. I'm also a big fan of backports requiring tests, but am honestly intimidated by the testing framework... -- Daniel Ruggeri On 1/30/2017 2:02 PM, Jacob Champion wrote: > On 01/02/2017 07:53 AM, Daniel Shahaf wrote: >> Setting this up isn't a lot more complicated than filing an INFRA ticket >> with a build script, a list of build dependencies, and a list of >> branches to build, and deciding how build failures would be notified. > > To follow up on this, we now have an operational (if not yet fully > functional) buildbot for trunk: > > https://ci.apache.org/builders/httpd-trunk > > There's a lot of work yet to do, but for now we have an Ubuntu machine > that can be manually triggered to run an incremental build on trunk. > > Here's my list of TODOs: > - run per-commit incremental builds > - run nightly clean builds > - run a nightly test suite > - set up 2.4.x in addition to trunk > - set up Windows in addition to Ubuntu > > == Details == > > The bot is building against Ubuntu-packaged dependencies, which > requires a new apr-config option for buildconf (run `./buildconf > --help` on the latest trunk for info). This leaves out a few modules > that need some bleeding-edge dependencies: > > - mod_brotli (needs the unreleased libbrotli) > - mod_crypto (needs APR 1.6) > - mod[_proxy]_http2 (needs libnghttp2) > - mod_lua (needs our configure script to recognize Lua 5.3) > > So to run a full test suite, eventually we'll need to build those > dependencies too. I figure this is a good start for now. > > The following modules aren't built because of platform-specific stuff: > > - mod_socache_dc (distcache) > - mod_journald, mod_systemd > - mod_privileges (sys/priv.h) > - mpm_os2 > - mpm_winnt > > If you'd like to poke around, our buildbot configuration file is in > the infra repository and is, I believe, open to all our committers: > > > https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/httpd.conf > > > --Jacob
