Merge branch 'upgrade-travis-platforms'

Use more recent Linux and macOS versions for Travis CI builds.

See https://github.com/wxWidgets/wxWidgets/pull/1818
This commit is contained in:
Vadim Zeitlin
2020-04-24 00:39:25 +02:00
4 changed files with 70 additions and 41 deletions

View File

@@ -7,30 +7,30 @@ sudo: required
matrix:
include:
- dist: precise
- dist: trusty
compiler: gcc
env: wxGTK_VERSION=2 wxUSE_XVFB=1
name: wxGTK 2 Ubuntu 12.04
- dist: trusty
name: wxGTK 2 Ubuntu 14.04
- dist: xenial
compiler: gcc
env: wxGTK_VERSION=3
name: wxGTK 3 Ubuntu 14.04
- dist: trusty
name: wxGTK 3 Ubuntu 16.04
- dist: bionic
compiler: gcc
env: wxGTK_VERSION=2 wxCONFIGURE_FLAGS="--enable-utf8 --enable-utf8only --enable-monolithic" wxUSE_XVFB=1
name: wxGTK 2 UTF-8 Ubuntu 14.04
- dist: trusty
name: wxGTK 2 UTF-8 Ubuntu 18.04
- dist: bionic
compiler: gcc
env: wxGTK_VERSION=3 wxCONFIGURE_FLAGS="--enable-cxx11 --enable-stl --disable-webview" wxMAKEFILE_FLAGS="CXXFLAGS=-std=c++11" wxUSE_XVFB=1
name: wxGTK 3 STL Ubuntu 14.04
- dist: trusty
env: wxGTK_VERSION=3 wxCONFIGURE_FLAGS="--enable-cxx11 --enable-stl --disable-webview" wxMAKEFILE_FLAGS="CXXFLAGS=-std=c++11 LDFLAGS=-Wl,--no-as-needed" wxUSE_XVFB=1
name: wxGTK 3 STL Ubuntu 18.04
- dist: bionic
compiler: clang
env: wxGTK_VERSION=2 wxCONFIGURE_FLAGS="--disable-shared --disable-sys-libs --disable-webview" wxUSE_XVFB=1
name: wxGTK 2 clang Ubuntu 14.04
- dist: trusty
name: wxGTK 2 clang Ubuntu 18.04
- dist: bionic
compiler: gcc
env: wxTOOLSET=cmake wxCMAKE_GENERATOR="Unix Makefiles"
name: wxGTK CMake Ubuntu 14.04
name: wxGTK CMake Ubuntu 18.04
- os: osx
osx_image: xcode6.4
compiler: clang
@@ -40,34 +40,38 @@ matrix:
osx_image: xcode9.4
compiler: clang
env: wxTOOLSET=cmake wxCMAKE_GENERATOR=Xcode wxCMAKE_DEFINES="-DCMAKE_CXX_STANDARD=11"
name: wxOSX Xcode 9.4
- dist: trusty
name: wxOSX CMake Xcode 9.4
- os: osx
osx_image: xcode11.3
env: wxCONFIGURE_FLAGS="--enable-monolithic --with-cxx=17 --with-macosx-version-min=10.12 --enable-stl"
name: wxOSX Xcode 11.3
- dist: bionic
compiler: gcc
env: wxCONFIGURE_FLAGS="--with-x11 --enable-pch --disable-stc" wxSKIP_SAMPLES=1
name: wxX11 Ubuntu 14.04
- dist: trusty
name: wxX11 Ubuntu 18.04
- dist: bionic
compiler: gcc
env: wxCONFIGURE_FLAGS="--with-directfb --enable-pch --disable-stc" wxSKIP_SAMPLES=1
name: wxDFB Ubuntu 14.04
- dist: trusty
name: wxDFB Ubuntu 18.04
- dist: bionic
compiler: gcc
env: wxCONFIGURE_FLAGS="--with-motif --enable-pch --disable-stc" wxSKIP_SAMPLES=1
name: wxMotif Ubuntu 14.04
- dist: trusty
name: wxMotif Ubuntu 18.04
- dist: bionic
compiler: gcc
env: wxCONFIGURE_FLAGS="--with-qt --enable-pch" wxSKIP_SAMPLES=1
name: wxQt Ubuntu 14.04
name: wxQt Ubuntu 18.04
- os: linux
arch: arm64
env: wxCONFIGURE_FLAGS="--disable-sys-libs" wxLXC=1
name: wxGTK ARM64
- os: linux
arch: ppc64le
env: wxCONFIGURE_FLAGS="--disable-sys-libs" wxLXC=1
env: wxCONFIGURE_FLAGS="--disable-sys-libs --disable-gui" wxLXC=1 wxSKIP_GUI=1
name: wxGTK PowerPC64
- os: linux
arch: s390x
env: wxCONFIGURE_FLAGS="--disable-sys-libs" wxLXC=1
env: wxCONFIGURE_FLAGS="--disable-sys-libs --disable-gui" wxLXC=1 wxSKIP_GUI=1
name: wxGTK S/390
branches:

View File

@@ -10,6 +10,11 @@ skip_commits:
- docs/
- interface/
- misc/
- include/wx/osx/
- src/osx/
- .travis.yml
- build/tools/travis-ci.sh
- build/tools/before_install.sh
environment:
matrix:

View File

@@ -2,7 +2,7 @@
#
# This script is used by Travis CI to install the dependencies before building
# wxWidgets but can also be run by hand if necessary but currently it only
# works for Ubuntu 12.04 and 14.04 and OS X used by Travis builds.
# works for Ubuntu versions used by Travis builds.
SUDO=sudo
@@ -10,30 +10,38 @@ case $(uname -s) in
Linux)
if [ -f /etc/apt/sources.list ]; then
$SUDO apt-get update
case "$wxGTK_VERSION" in
3) libgtk_dev=libgtk-3-dev ;;
*) libgtk_dev=libgtk2.0-dev;;
esac
case "$wxCONFIGURE_FLAGS" in
*--with-directfb*) libtoolkit_dev='libdirectfb-dev' ;;
*--with-motif*) libtoolkit_dev='libmotif-dev libxmu-dev' ;;
*--with-qt*) libtoolkit_dev='qtdeclarative5-dev' ;;
*--with-qt*) libtoolkit_dev='qtdeclarative5-dev libqt5opengl5-dev';;
*--with-x11*) extra_deps='libpango1.0-dev' ;;
*--disable-gui*) ;;
*)
case "$wxGTK_VERSION" in
3) libtoolkit_dev=libgtk-3-dev
extra_deps='libwebkit2gtk-4.0-dev libwebkitgtk-3.0-dev'
;;
*) libtoolkit_dev=libgtk2.0-dev
extra_deps='libwebkitgtk-dev'
;;
esac
extra_deps="$extra_deps \
libgstreamermm-1.0-dev libgstreamermm-0.10-dev \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \
libglu1-mesa-dev"
esac
pgk_check="libgstreamermm-1.0-dev libgstreamermm-0.10-dev \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \
libwebkit2gtk-4.0-dev libwebkitgtk-3.0-dev libwebkitgtk-dev \
libglu1-mesa-dev libsecret-1-dev libnotify-dev"
for pkg in $pgk_check; do
extra_deps="$extra_deps libsecret-1-dev libnotify-dev"
for pkg in $extra_deps; do
if $(apt-cache pkgnames | grep -q $pkg) ; then
pkg_install="$pkg_install $pkg"
fi
done
$SUDO apt-get install -y $libgtk_dev $libtoolkit_dev $pkg_install
$SUDO apt-get install -y $libtoolkit_dev $pkg_install
fi
;;

View File

@@ -54,7 +54,14 @@ case $wxTOOLSET in
;;
*)
echo 'Configuring...' && echo -en 'travis_fold:start:script.configure\\r'
./configure --disable-optimise $wxCONFIGURE_FLAGS
./configure --disable-optimise --disable-debug_info $wxCONFIGURE_FLAGS || rc=$?
if [ -n "$rc" ]; then
echo '*** Configuring failed, contents of config.log follows: ***'
echo '-----------------------------------------------------------'
cat config.log
echo '-----------------------------------------------------------'
exit $rc
fi
echo -en 'travis_fold:end:script.configure\\r'
echo 'Building...' && echo -en 'travis_fold:start:script.build\\r'
@@ -62,14 +69,19 @@ case $wxTOOLSET in
echo -en 'travis_fold:end:script.build\\r'
echo 'Building tests...' && echo -en 'travis_fold:start:script.tests\\r'
make -C tests $wxJOBS failtest
make -C tests $wxJOBS
[ "$wxSKIP_GUI" = 1 ] || make -C tests $wxJOBS failtest
make -C tests $wxJOBS $wxMAKEFILE_FLAGS
echo -en 'travis_fold:end:script.tests\\r'
echo 'Testing...' && echo -en 'travis_fold:start:script.testing\\r'
pushd tests && ./test && popd
echo -en 'travis_fold:end:script.testing\\r'
if [ "$wxSKIP_GUI" = 1 ]; then
echo 'Skipping the rest of tests for non-GUI build.'
exit 0
fi
if [ "$wxUSE_XVFB" = 1 ]; then
echo 'Testing GUI using Xvfb...' && echo -en 'travis_fold:start:script.testing_gui\\r'
pushd tests && xvfb-run -a -s '-screen 0 1600x1200x24' ./test_gui && popd