On 11.12.2018 21:25, Aaron Conole wrote: > Ilya Maximets <[email protected]> writes: > >> CirrusCI [1] is free for open-sorce projects and provides similar >> to TravisCI interfaces. One significant difference is ability >> to run tasks on FreeBSD instances. >> >> This patch adds simple configuration file to test OVS build >> on two FreeBSD releases with gcc and clang. >> Unit tests are commented out because they are broken for now. >> >> To enable the automated checks Cirrus CI application from GitHub >> Marketplace should be installed. See details in Quick Start guide [2]. >> >> [1] https://cirrus-ci.org >> [2] https://cirrus-ci.org/guide/quick-start/ >> >> Signed-off-by: Ilya Maximets <[email protected]> >> --- >> >> This could be useful to test FreeBSD build automatically to early >> detect issues. CirrusCI looks suitable for that purpose and it's >> the only public CI system that I managed to find that supports >> FreeBSD images. Sending as RFC to start discussion. > > Awesome find. Thanks, Ilya! > >> Few more differentiation points with Travis. Cirrus allows to >> configure number of CPUs and the amount of required memory. It >> also supports Linux, OSX and Windows containers. So, maybe, if >> we'll like it, we could drop Travis and AppVeyor and use single >> CI system for all the tests. >> >> I'm not advertising and not trying to convince to replace our >> current CI systems. I found CirrusCI just few days ago by a mail [3] >> in qemu-devel list. I just think that it's the only option for >> now to test BSD builds with public CI. And it worked fine for me >> with below configuration. >> >> Thoughts ? > > I'm not married to technology for a reason :) If it seems better, then > it is worth checking out. I can play around with it a little bit, but > I'll be AFK until Jan, so it might be better for someone else who has > the recent time to take a look. > > One thing I really find painful with Travis is the difficulty running > the alternate test suites (make check-*). Travis can run them, but we > need to request privileged containers, and that will add to the build > time. Not sure if there's some kind of custom privilege support from > Cirrus that would let us run the alternate test suites - or even let us > run them by requesting privileges.
Didn't find any information about privileges in CirrusCI docs. Maybe we need to try and find out the real restrictions. > > Another thing I'm not sure about is the polling. At least Travis does > have a RESTful API that we can poll with. I hope the CirrusCI system > would as well. Currently, I am looking into getting the robot to poll > the Travis system and respond to a series if there is a problem. Did you thought about using github webhooks for 'Check suite' events? They will be independent from the exact CI system. > >> As a note: I just spotted that TravisCI adds windows support. >> Maybe we could use it in the future for windows builds. >> >> [3] https://lists.nongnu.org/archive/html/qemu-devel/2018-12/msg00935.html >> >> .cirrus.yml | 30 ++++++++++++++++++++++++++++++ >> Makefile.am | 1 + >> 2 files changed, 31 insertions(+) >> create mode 100644 .cirrus.yml >> >> diff --git a/.cirrus.yml b/.cirrus.yml >> new file mode 100644 >> index 000000000..4902fd370 >> --- /dev/null >> +++ b/.cirrus.yml >> @@ -0,0 +1,30 @@ >> +freebsd_build_task: >> + >> + freebsd_instance: >> + matrix: >> + image: freebsd-12-0-release-amd64 >> + image: freebsd-11-2-release-amd64 >> + cpu: 4 >> + memory: 8G >> + >> + env: >> + matrix: >> + COMPILER: gcc >> + COMPILER: clang >> + >> + prepare_script: >> + - pkg install -y automake libtool gmake gcc wget >> + python py27-six py27-sphinx >> + >> + configure_script: >> + - ./boot.sh >> + - ./configure CC=$COMPILER MAKE=gmake OVS_CFLAGS='-Wall' --enable-Werror >> + || { cat config.log; exit 1; } >> + >> + build_script: >> + - gmake -j8 >> + >> +# TODO(i.maximets): Uncomment the test suite execution when it is fixed. >> +# check_script: >> +# - gmake -j8 check TESTSUITEFLAGS=-j8 RECHECK=yes >> +# || { cat ./tests/testsuite.log; exit 1; } >> diff --git a/Makefile.am b/Makefile.am >> index 64725654c..8408509c9 100644 >> --- a/Makefile.am >> +++ b/Makefile.am >> @@ -76,6 +76,7 @@ EXTRA_DIST = \ >> MAINTAINERS.rst \ >> README.rst \ >> NOTICE \ >> + .cirrus.yml \ >> .travis.yml \ >> .travis/linux-build.sh \ >> .travis/linux-prepare.sh \ > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
