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 <i.maxim...@samsung.com> --- 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. 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 ? 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 \ -- 2.17.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev