wxwidgets/.cirrus.yml
Vadim Zeitlin 120e8f5395 Install 3rd party libraries dev packages in Cirrus CI build
As we don't check out all submodules, we need them there.
2022-12-31 19:23:58 +01:00

93 lines
2.6 KiB
YAML

# 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:
skip: "changesIncludeOnly('appveyor.yml','CMakeLists.txt','.github/**','docs/**','interface/**','include/wx/{msw,osx,qt}/**','src/{msw,osx,qt}/**','build/{cmake,msw,osx}/**')"
matrix:
- name: Cirrus CI / FreeBSD 13 wxGTK 3
freebsd_instance:
image_family: freebsd-13-0
env:
osname: FreeBSD
- name: Cirrus CI / Debian ARM wxGTK 3
arm_container:
image: debian:11-slim
env:
osname: Linux
arch: arm
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
WX_EXTRA_PACKAGES='ccache git'
export WX_EXTRA_PACKAGES
case "${osname}" in
Linux)
WX_EXTRA_PACKAGES="$WX_EXTRA_PACKAGES \
g++ libexpat1-dev libjpeg-dev libpng-dev libtiff5-dev make zlib1g-dev"
;;
esac
wxGTK_VERSION=3 ./build/tools/before_install.sh
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_submodules_script: |
git submodule update --init 3rdparty/catch 3rdparty/nanosvg
ccache_cache:
folder: /tmp/ccache
configure_script: |
case "${osname}" in
FreeBSD)
# We need to pass these 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 either).
CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib
;;
esac
./configure --disable-optimise --disable-debug_info CXXFLAGS=-Werror CPPFLAGS=$CPPFLAGS LDFLAGS=$LDFLAGS
build_library_script: |
make -k $wxBUILD_ARGS
build_tests_script: |
make -k -C tests $wxBUILD_ARGS
test_script: |
cd tests
WX_TEST_WEBREQUEST_URL="0" ./test
build_samples_script: |
make -k -C samples $wxBUILD_ARGS
install_script: |
make install
case "${osname}" in
FreeBSD)
# Building sample requires GNU make, so install it just for this.
pkg install -q -y gmake
;;
esac
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