Il giorno mar 29 ott 2019 alle ore 12:23 Joe Orton <jor...@redhat.com> ha scritto: > > On Sun, Oct 27, 2019 at 06:42:58PM +0100, Luca Toscano wrote: > > Some updates: > > > > - We have support for httpd in travis - https://travis-ci.org/apache/httpd > > Nice, thanks Luca & infra! > > > - In order to configure automatic builds, a travis.yaml file is needed > > in the base path of the repository, in every branch that needs to be > > tested IIUC. > > - My idea is currently to add in trunk a travis.yaml initial > > configuration file, that builds a Docker image like [1] and runs the > > perl test suite. > > > > - Building the Docker image in [1] takes quite a while now (between 9 > > and 13 mins on my laptop, depending also on network bandwidth etc..) > > so it will need more time before it could be as fast as we need, but > > we have to start from somewhere :) > > - In the travis.yaml file we'd need to put config options about what > > Docker image to build and with what parameters. Ideally I'd like to > > store the Docker images in the httpd-framework repository, and > > Do you mean Dockerfiles rather than images here?
Correct yes, my bad! > > > reference them in the Travis config of the httpd branches, but not > > sure if it will be possible. Worst case scenario we'll need to add the > > Docker image in each httpd branch that we want to test (possibly in a > > dedicated dir, like "docker" or "testing". > > I expected two goals for testing: > > 1. configure, build, and test using a variety of different configure > options in the standard Ubuntu environment which Travis provides (enable > different MPMs, different module sets, different > --enable-foo/--with-foo, different gcc versions etc etc) This is also what I was trying to understand in these days, namely if travis could build and test directly without Docker. > 2. configure build and test in a variety of OS environments - this would > make sense using container images. > > I don't have much experience testing inside containers from Travis, but > if we can do both (1) and (2) inside containers that might make sense? > Or can we do both separately? If you have a .travis.yml which works > then I'd say go commit it and we can work from there. I have currently a Docker file that works for Debian/Ubuntu (and another one for CentOs), and IIUC the same could also be done for other OSes (so having different Docker files for OSX and Win, since Travis seems to support them). The main problem is that it currently takes minutes to build the Docker images, and only after that tests will be able to run. I guess that this problem will be the same if we run directly tests in Travis, but we can give it a try. Another downside about Travis, in my opinion, is that testing locally seems to be more difficult that building Docker images (but I admit my ignorance so it might be different), this is why I preferred Docker in the first place. > Or can we do both separately? If you have a .travis.yml which works > then I'd say go commit it and we can work from there. I currently don't have a working travis yaml, but I'll come up with something during the next days. What I am currently trying to understand is if the Docker files could be stored elsewhere (like in the httpd-framework repo) and downloaded in Travis on demand, to have only one the Travis config in the httpd branches (as opposed to also having Docker files etc..). Let me know your suggestions/thoughts :) Luca