Commit Graph

223 Commits

Author SHA1 Message Date
Vadim Zeitlin
9cb28353e7 Add a helper function to run apt-get
This simplifies the script and allows to log the commands in the build
log.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
d61719edde Show packages not being installed in the build log 2021-03-23 14:09:05 +01:00
Vadim Zeitlin
bc7a7b0c2d Hide confusing output from "tee --append"
This is used to just append to the file, not actually to see the output
of our own echo commands.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
4900c5e5b8 Don't use release-proposed repository for debug symbols
This seems to be unnecessary, as -proposed is not used for the actual
packages.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
899a5251fb Run apt-get more quietly
Avoid unnecessary progress messages about reading the database.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
ce1d6162f7 Run apt-get install only once and not twice
Add -dbgsym packages to extra_deps and pass them to the same apt-get
command we use for installing all the other dependencies.

This is slightly faster and also makes it simpler to pass extra options
to apt-get, as we're going to do in the next commit.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
4dae461183 Move ASAN-specific packages installation
No changes yet, just reorganize things to make upcoming changes simpler.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
b5f7ed2169 Manually update expired key for ddebs.ubuntu.com repository
Retrieve the latest key, which was extended for another year.

See https://bugs.launchpad.net/ubuntu/+source/ubuntu-keyring/+bug/1920640
2021-03-22 23:23:56 +01:00
Vadim Zeitlin
a5afa85c0a Always use pip for installing httpbin in Travis CI builds
Using Docker just doesn't work: simply running "docker pull" fails due
to the pull rate limits all the time, see e.g.

https://travis-ci.org/github/wxWidgets/wxWidgets/jobs/759810039#L2628

while following Travis own instructions for dealing with this problem at

https://blog.travis-ci.com/docker-rate-limits

results in the build failure due to secret environment variables not
being accessible from the PRs for security reasons, see

https://travis-ci.org/github/wxWidgets/wxWidgets/jobs/759820694

So use pip everywhere, even under Ubuntu 14.04, where it doesn't work
out of the box as it tries to install globally when it doesn't have the
permissions to do it.
2021-02-21 14:57:10 +01:00
Vadim Zeitlin
e848c54f0f Use pip for installing httpbin in most Travis CI builds
Using docker results in errors due to rate limit on pulling, so try to
reduce its use as much as possible. It still has to be used under Ubuntu
14.04 because it has a version of Python too old to work with HTTPS
servers using SNI and so using pip fails there.
2021-02-15 22:24:10 +01:00
Vadim Zeitlin
d1810b0dce Remove setup0.h files
Simplify things by putting setup.h files themselves under version
control and getting rid of setup0.h ones.

The initial motivation for using separate setup0.h files was to allow
having local changes to setup.h, but with Git there is a simple way to
do it by using "git update-index --skip-worktree include/wx/msw/setup.h"
for example, so we don't really need setup0.h any more and dropping them
makes things simpler.
2021-01-31 19:02:56 +01:00
Vadim Zeitlin
2aba3ad0e1 Ignore leak from atk_bridge_adaptor_init() when using ASAN
There doesn't seem to be any way to avoid calling it or freeing
(multiple) memory blocks allocated by it.
2021-01-31 17:33:04 +01:00
Vadim Zeitlin
0718f641f5 Install more debug symbols for ASAN builds
Install glib and gtk symbols which are required to get full information
from the LeakSanitizer stack traces.
2021-01-31 17:32:34 +01:00
Vadim Zeitlin
f31a064848 Install libcurl to make it available in the CI builds
It's not installed by default at least on GitHub Actions images.
2021-01-28 00:04:39 +01:00
Vadim Zeitlin
8e8a86aed0 Fix return code from testing script in case of error
Using type reset %errorlevel% and the errors were not detected any
longer.
2021-01-27 14:56:29 +01:00
Vadim Zeitlin
b394bb1b87 Show httpbin output if the test failed, not if it succeeded
This output is mostly useful for diagnosing errors, so it's not very
useful to show it only after successful test completion in after_test
command.
2021-01-27 10:01:53 +01:00
Vadim Zeitlin
623c4811ab Run httpbin in appveyor.yml to be able to stop it later
There is no way to stop a background task simply and safely with
cmd.exe, but in appveyor.yml we can use PowerShell, so use its job
support to do it instead.

This is important because AppVeyor waits until all jobs launched by the
script terminate, so without stopping the background job all builds
waited for an hour before timing out.
2021-01-26 22:50:43 +01:00
VZ
75b4f5439a
Fix setting WX_TEST_WEBREQUEST_URL in AppVeyor builds
Don't use quotes around the value, they're not special for cmd.exe
and remain part of the actual variable value.

Co-authored-by: Maarten <MaartenBent@users.noreply.github.com>
2021-01-25 18:22:40 +01:00
Vadim Zeitlin
32cdda65bb Use pip for httpbin in Mac Travis CI builds
Docker isn't available under Mac, unfortunately.

Notice that it's still better to use Docker if it is available, rather
than using pip everywhere, as pip has trouble installing httpbin in the
Ubuntu 14.04 build, for example.
2021-01-25 00:25:04 +01:00
Vadim Zeitlin
9307fa6f89 Run httpbin locally for the tests in the CI builds
Run httpbin (either directly or inside a container) and set
WX_TEST_WEBREQUEST_URL to point to localhost.

Note that it is important _not_ to have a trailing slash in the root
URL, otherwise WebRequest::Auth::Digest test would fail.
2021-01-24 19:04:41 +01:00
Maarten Bent
71c4653b94 Enable wxUSE_WEBVIEW_EDGE in an AppVeyor test 2021-01-19 22:43:08 +01:00
Maarten Bent
564f9d6037 Specify tests to exclude in CI CMake builds
Escape the | in AppVeyor bat file to prevent errors.
2021-01-19 19:58:46 +01:00
Maarten Bent
b51d146adf Run ctest in correct directory on Travis CI 2021-01-19 19:58:46 +01:00
Ilya Sinitsyn
67d286d499 Remove build with ASAN from Travis builds 2020-12-30 13:50:59 +07:00
Xaviou
be5b68459d Add scripts used for building MinGW official binaries
Add the scripts themselves and the documentation explaining how to use
them and which compilers are currently supported.

Closes https://github.com/wxWidgets/wxWidgets/pull/2129
2020-12-29 17:41:01 +01:00
Vadim Zeitlin
a3ea09d3e3 Revert "Increase LSAN verbosity in Travis CI builds"
This reverts commit 7ec39330d2 because
enabling verbose ASAN output results in too much output for Travis to
handle (and, to be fair, for it to be useful).
2020-10-20 18:41:40 +02:00
Vadim Zeitlin
7ec39330d2 Increase LSAN verbosity in Travis CI builds
Its own error message recommends using these options if it fails (as it
did in one of the builds with an irreproducible crash), so try doing it.
2020-10-20 15:57:09 +02:00
Vadim Zeitlin
a2923a6fad Select GTK version explicitly when configuring Travis CI builds
Don't rely on just a single GTK version being installed on the system,
as we do now, but select the version we want explicitly, just to avoid
bad surprises in the future (even if it doesn't change anything for
now).
2020-10-19 16:51:36 +02:00
Vadim Zeitlin
7859163e66 Require specifying wxGTK_VERSION for wxGTK builds on Travis CI
This avoids accidentally using a wrong GTK version, as it happened for
e.g. ARM64 build.
2020-10-19 16:50:56 +02:00
Ilya Sinitsyn
0310347dc4 Add wxGTK build with ASAN to Travis CI
Compile and link with `-fsanitize=address` options to find memory related
errors.
2020-10-19 14:03:24 +02:00
Ilya Sinitsyn
fe7230e19c Suppress spurious accessibility bus errors in Travis CI builds
These errors don't matter, so just avoid them in the build logs by
setting NO_AT_BRIDGE environment variable.
2020-10-19 13:54:19 +02:00
Vadim Zeitlin
d1aa3d5663 Update the version to 3.1.5
This was done by running misc/scripts/inc_release, bakefile_gen and
autoconf.
2020-07-23 16:25:39 +02:00
dos
0f7387bc48 Include wxbase DLLs in 64-bit Dev package too
Do it for consistency with the 32-bit package and to ensure that the
provided wxrc.exe binary can be run without downloading any extra files.

Closes https://github.com/wxWidgets/wxWidgets/pull/1991
2020-07-23 16:20:23 +02:00
dos
5ed09da80c Copy wxwidgets.props to root of *Dev.7z packages; use full source path with fciv command. 2020-07-13 13:34:02 -03:00
dos
050df54930 Add TARGET_CPU=X86 to 32 bit builds. 2020-07-13 13:32:24 -03:00
Vadim Zeitlin
099ea7176d Properly stop Travis CI build after a test failure
Using "pushd tests && test-command && popd" loses the exit code of the
test command, as it's not taken into account by "set -e" when the
command is part of a "&&" list.

Fix this by simply splitting such lists in their individual commands.
2020-07-09 14:08:44 +02:00
Vadim Zeitlin
9fde10f53e Use #!/bin/bash for Travis build script which requires bash
It uses arithmetic expansion and, now, arrays, neither of which exists
in POSIX sh.
2020-07-07 12:43:12 +02:00
Vadim Zeitlin
403884e1d8 Fix quoting of CXXFLAGS passed to make
Use arrays to simplify passing CXXFLAGS and LDFLAGS, both of them may
contain spaces, separately on make command line.

Simpler solution of just using individual variable doesn't work because
of bash/POSIX word splitting behaviour (zsh should be blamed for
spoiling me with its much more reasonable behaviour and allowing me
to forget about this insanity in the first place). In principle, we
could work around this by temporarily resetting IFS, but using arrays is
arguably more clear and this script already uses bashisms, in spite of
its shebang line.
2020-07-07 12:40:22 +02:00
Vadim Zeitlin
a4c1e542aa Use makefile flags when building the samples too
This will notably detect all warnings in them.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
85ad131adb Fix not handling #warning as errors for clang
clang uses "#warnings" warning category instead of "cpp" as gcc does and
complains about unknown "cpp" warning option if we use it with it.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
437b8eebec Pass -Werror on make command line
Setting CXXFLAGS=-Werror in the environment wasn't enough, it was still
overridden by the empty CXXFLAGS in the makefile.

Ideal would be to get rid of the empty flags there, but for now override
them on make command line explicitly.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
c4152869f5 Split wxMAKEFILE_FLAGS in separate CXX/LDFLAGS variables
This will allow appending extra CXXFLAGS to use with make in the
upcoming commit.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
b91d3e35cf Only use -Werror for building, not configuring
Use of -Werror results in failures of configure tests that should
normally succeed, e.g. testing for va_copy() when cross-compiling for
iOS, so don't do it and just enable -Werror for building our own code.
2020-07-06 13:13:35 +02:00
Vadim Zeitlin
20e385e7bb Do not make explicit #warnings fatal in Travis CI builds
Don't give errors for the intentional warnings from #warning directives.
2020-07-06 12:52:01 +02:00
Vadim Zeitlin
31a1779a86 Keep building libraries/samples/tests in Travis CI tests
This is useful to see all the warnings at once instead of having to run
many builds to see them all.
2020-07-06 12:45:57 +02:00
Vadim Zeitlin
b48515d5cc squash! Treat warnings as errors in Travis CI builds
Add wxALLOW_WARNINGS which can be set to prevent this from happening for
the ports where we don't want to avoids warnings anyhow because they
indicate real problems in the code, such as wxDFB.
2020-07-06 12:44:25 +02:00
Vadim Zeitlin
d2e03dec77 Treat warnings as errors in Travis CI builds
This will allow detecting any new warnings immediately.
2020-07-06 00:30:41 +02:00
Maarten Bent
e4437c4974 Add iOS CMake build to Travis CI
Use the following CMake flags:
-DCMAKE_SYSTEM_NAME=iOS - for specifying it is an iOS build
-DCMAKE_FIND_ROOT_PATH=/usr/local - dir to search for the built wxWidgets libraries
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO - don't require signing app packages
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 - specify a target so both the libraries and sample will use the same architecture

Also use the code signing flag when testing precompiled header support.
Don't build the default samples, widgets sample has features that are not supported by the iOS build.

Xcode seems to rebuild the libraries when installing, so call CMake only once.
2020-06-18 21:20:21 +02:00
Maarten Bent
78500e4a3b Improve folding in Travis CI log
Start the fold before echoing the description, so the description is shown when folded.
Combine Xcode checks into one statement.
Add missing '-G' argument when building sample using CMake.
2020-06-18 19:48:03 +02:00
Stefan Csomor
da48b9e45d
adding an iOS build to travis (#1847)
* fixing compilation of tests that cannot build

bracket code with the corresponding wxUSE… macros

* adding directive for iOS

* adding a switch for skipping the run - not the build of tests

right now I don’t know yet, how to run the test binary in the iOS simulator, but building it is still a good test in itself

* adding skipping of tests

* increasing minimum deployment to get proper c++17 support

* using --disable-sys-libs, restoring other targets

even when the zlib in -isysroot is used, due to deployment on lower iOS versions inflateValidate may not be available and crash. The guards are evaluated using macros from the zlib from the SDK, not from the lowest version supported.
2020-05-08 08:01:56 +02:00