From 1e98f517b081436783d4bfb86c1b1b5704f28dc2 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 23 Jun 2022 15:31:12 +0100 Subject: [PATCH] Add configuration file for Cirrus CI to test under FreeBSD Add a single wxGTK3 build only so far. --- .cirrus.yml | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .cirrus.yml diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000000..db76d51a18 --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,66 @@ +# Continuous integration tasks running on Cirrus CI. +# +# This is currently used for testing under FreeBSD, which is not available at +# the other CI providers used by wx. + +env: + CCACHE_SIZE: 1G + CCACHE_DIR: /tmp/ccache + +task: + name: Cirrus CI / FreeBSD 13 wxGTK 3 + freebsd_instance: + image_family: freebsd-13-0 + + before_script: | + echo LD_LIBRARY_PATH=`pwd`/lib >> $CIRRUS_ENV + + wxPROC_COUNT=`./build/tools/proc_count.sh` + echo wxBUILD_ARGS=-j$wxPROC_COUNT >> $CIRRUS_ENV + + ./build/tools/before_install.sh + + pkg install -q -y ccache git + echo "PATH=/usr/local/libexec/ccache:$PATH" >> $CIRRUS_ENV + + # Rather than getting all submodules, get just the ones we need, as we can + # use system libraries instead of the other ones. + update_submodues_script: | + git submodule update --init 3rdparty/catch 3rdparty/nanosvg + + ccache_cache: + folder: /tmp/ccache + + # We need to pass flags so that libraries under /usr/local are found, because + # configure doesn't look for them there by default (it ought to always use + # pkg-config instead, but it currently doesn't do this neither). + configure_script: | + ./configure --disable-optimise --disable-debug_info CXXFLAGS=-Werror CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib + + build_library_script: | + make -k $wxBUILD_ARGS + + build_tests_script: | + make -k -C tests $wxBUILD_ARGS + + test_script: | + pkg install -q -y py38-pip py38-setuptools + + . ./build/tools/httpbin.sh + httpbin_launch + cd tests + ./test + + build_samples_script: | + make -k -C samples $wxBUILD_ARGS + + # Building sample requires GNU make, so install it just for this. + install_script: | + make install + pkg install -q -y gmake + gmake -C samples/minimal -f makefile.unx clean + gmake -C samples/minimal -f makefile.unx $wxBUILD_ARGS + + # Show cache statistics for information. + end_script: | + ccache -s