Commit Graph

32 Commits

Author SHA1 Message Date
Vadim Zeitlin
49fcd34335 Merge branch 'rerun-test-on-asan-failure'
Try to work around a spurious failure in ASAN builds on GitHub Actions.

See https://github.com/wxWidgets/wxWidgets/pull/2217
2021-02-05 21:38:42 +01:00
Vadim Zeitlin
b90cca5103 Fix ignoring docs changes in GitHub Actions CI builds
The path expression must match the full path, not just be its prefix.

Co-Authored-By: PB <PBfordev@gmail.com>
2021-02-05 21:35:51 +01:00
Vadim Zeitlin
211cde11d4 Rerun the test if LeakSanitizer crashed while running it
This crash (see https://github.com/google/sanitizers/issues/1353)
happens sporadically but regularly enough to be annoying, so try to work
around it by rerunning the test and hope that it doesn't happen twice in
a row.
2021-02-05 19:14:06 +01:00
Vadim Zeitlin
53ece3c2ed Don't use pushd/popd unnecessarily
Each step executes in its own shell, so it's not necessary to restore
the previous working directory and a simple "cd" would do just fine but,
in fact, we don't even need this as we can just set the working
directory at the step level.
2021-02-05 19:07:28 +01:00
Vadim Zeitlin
1aae6e26ca Remove useless echo from GitHub CI script
"Testing" is already shown as the step title.
2021-02-05 18:56:27 +01:00
Vadim Zeitlin
a81f91114b Make --disable-sys-libs configure option less drastic
Only disable using the system libraries when a built-in version is
available, otherwise still use the system library as this seems more
useful than disabling the use of only some system libraries (liblzma and
libcurl), while still possibly depending on dozens more via GTK.

Update the documentation and remove the now unnecessary --with-libcurl
from the CI script.

Closes https://github.com/wxWidgets/wxWidgets/pull/2208
2021-02-02 13:00:58 +01:00
Vadim Zeitlin
e7cd875ab0 Ignore changes to more files in GitHub CI workflow
Don't bother rebuilding everything when nothing important has changed.
2021-02-01 10:48:17 +01:00
Vadim Zeitlin
ef1bf6df1f Disable fast unwind on malloc in ASAN builds
This makes things much, much slower, but unfortunately seems to be the
only way to avoid memory leak reports when running the tests as without
it the suppression is not used because the stack is truncated, i.e. we
only see

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f0968253bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x7f09675aacb8 in g_malloc ../../../glib/gmem.c:102

in the output when the actual stack, seen with fast_unwind_on_malloc=0, is

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f12b913bbc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0x7f12b8496cd8 in g_malloc ../../../glib/gmem.c:102
    #2 0x7f12b84b0f93 in g_strdup ../../../glib/gstrfuncs.c:363
    #3 0x7f12b49adb2a in atk_bridge_adaptor_init ../atk-adaptor/bridge.c:1039
    #4 0x7f12b566d753 in _gtk_accessibility_init ../../../../gtk/a11y/gtkaccessibility.c:992
    #5 0x7f12b5821cfc in default_display_notify_cb ../../../../gtk/gtkmain.c:714
    #6 0x7f12b5589801 in g_closure_invoke ../../../gobject/gclosure.c:810
    #7 0x7f12b559d813 in signal_emit_unlocked_R ../../../gobject/gsignal.c:3742
    #8 0x7f12b55a8b9d in g_signal_emit_valist ../../../gobject/gsignal.c:3498
    #9 0x7f12b55a90d2 in g_signal_emit ../../../gobject/gsignal.c:3554
    #10 0x7f12b558e283 in g_object_dispatch_properties_changed ../../../gobject/gobject.c:1206
    #11 0x7f12b55906f1 in g_object_notify_by_spec_internal ../../../gobject/gobject.c:1299
    #12 0x7f12b55906f1 in g_object_notify ../../../gobject/gobject.c:1347
    #13 0x7f12b5dbf54f in _gdk_display_manager_add_display ../../../../gdk/gdkdisplaymanager.c:479
    #14 0x7f12b5589a55 in _g_closure_invoke_va ../../../gobject/gclosure.c:873
    #15 0x7f12b55a8b27 in g_signal_emit_valist ../../../gobject/gsignal.c:3407
    #16 0x7f12b55a9b7b in g_signal_emit_by_name ../../../gobject/gsignal.c:3594
    #17 0x7f12b5ded21a in _gdk_x11_display_open ../../../../../gdk/x11/gdkdisplay-x11.c:1803
    #18 0x7f12b5dbf377 in gdk_display_manager_open_display ../../../../gdk/gdkdisplaymanager.c:462
    #19 0x7f12b5822f6a in gtk_init_check ../../../../gtk/gtkmain.c:1109
    #20 0x7f12b5822f6a in gtk_init_check ../../../../gtk/gtkmain.c:1101
    #21 0x7f12b6fd1dad in wxApp::Initialize(int&, wchar_t**)
    ...
2021-01-31 17:33:13 +01:00
Vadim Zeitlin
367930f57d Fix setting LSAN_OPTIONS
Export them in the step running the test, not when configuring.
2021-01-31 01:33:30 +01:00
Vadim Zeitlin
07dfc18cc0 Disable wxWebView in ASAN CI build
Running wxWebView tests with ASAN results in "ASan runtime does not come
first in initial library list" warnings and doesn't work currently, so
disable wxWebView in this build for now to have a chance of passing the
tests.

It would be better to actually fix this, of course, but this will have
to wait until later.
2021-01-31 00:11:07 +01:00
Vadim Zeitlin
fd3897c2ab Enable GUI tests for the selected builds 2021-01-30 23:16:06 +01:00
Vadim Zeitlin
29030d0c05 Reformat the job names
Try to make them appear more consistently in the Actions UI.

No real changes.
2021-01-30 22:40:10 +01:00
Vadim Zeitlin
bc8f766b04 Add other Linux builds using configure to GitHub Actions CI
This is almost, although not quite, the same as we do in .travis.yml.

Note that CMake builds are not supported here yet.
2021-01-30 21:42:28 +01:00
Vadim Zeitlin
9e3079a695 Define wxUSE_XVFB for GitHub CI builds too
This is used in the test code to determine whether it's running under
Xvfb.
2021-01-30 21:42:28 +01:00
Vadim Zeitlin
ce5f135141 Fix allow_warnings check
We should disallow warnings when this flag is not defined, not when it
is.
2021-01-30 21:42:28 +01:00
Vadim Zeitlin
21fc248799 Use GTK 3 by default
Don't require defining gtk_version for all matrix elements neither.
2021-01-30 21:42:28 +01:00
Vadim Zeitlin
c58dc66056 Assume gcc compiler by default
Don't require defining gcc key in all matrix elements.
2021-01-30 21:42:28 +01:00
Vadim Zeitlin
7cba593a85 Fix ignoring paths for the GitHub CI builds
This was broken in 52d63eedd2 (Don't rerun CI builds for docs-only
changes, 2021-01-28) and no builds were run at all as the result.
2021-01-30 21:42:28 +01:00
Vadim Zeitlin
52d63eedd2 Don't rerun CI builds for docs-only changes
Avoid running the builds unnecessarily.
2021-01-28 17:33:26 +01:00
Vadim Zeitlin
5e3464fcd6 Enable use of libcurl and test it using local httpbin instance
Libcurl was implicitly disabled by --disable-sys-libs, so enable it
explicitly to still use it.

Also install httpbin using pip to use it for wxWebRequest tests.
2021-01-27 23:58:58 +01:00
Ilya Sinitsyn
ea6af85859 Add GitHub CI Workflow action for ASAN build
Unfortunately Travis build with ASAN fails with the segmentation violation
so build wx with GitHub CI.
2020-12-30 13:37:17 +07:00
Vadim Zeitlin
96eb09a383 Really ignore TABs in makefiles etc in the whitespace check
Add missing ":" in the beginning of Git pathspecs to make the exclusions
really work.

Also add entries for Makefile.in, which is not caught by **/*akefile*,
and other files in the root directory containing hard TABs.
2020-10-06 02:14:46 +02:00
Vadim Zeitlin
5358dd7007 Add a check for trailing whitespace and TABs
Just use Git itself to check for it in the new files.
2020-09-28 03:24:44 +02:00
Vadim Zeitlin
90ac5eeb6a Let shell expands $HOME in GitHub workflow
Apparently $HOME doesn't get expanded otherwise, resulting in "codespell
not found" error.
2020-07-18 19:49:21 +02:00
Vadim Zeitlin
e875b11f74 Run codespell from a separate script in GitHub workflow
This allows to give a more detailed error message in case of a problem
and also makes it simpler to run the spell check locally.
2020-07-18 19:42:48 +02:00
Vadim Zeitlin
0744cd14a1 Try using Python 3 for codespell
Running it using Python 2 seems to result in a problem with not matching
an exclusion line with non-ASCII character, which works fine with Python
3 locally.
2020-07-13 17:38:01 +02:00
Vadim Zeitlin
77e1e6330b Run codespell from where it is installed by pip
And disable the (useful) warning about this directory not being in PATH.
2020-07-13 17:35:30 +02:00
Vadim Zeitlin
d432b1a685 Try installing codespell 1.17.1 via pip
The 1.16 version available in Ubuntu 20.04 doesn't work nearly as well
as the latest one.
2020-07-13 17:30:47 +02:00
Vadim Zeitlin
1fcdaa7f22 Combine all values of codespell --skip option into one
codespell 1.17.1 from Debian Sid accepts multiple -S options, but 1.16
in Ubuntu 20.04 doesn't seem to like them.
2020-07-13 17:25:18 +02:00
Vadim Zeitlin
e4a826d250 Add GitHub workflow checking spelling for headers and docs
Run codespell using GitHub Actions to flag any new spelling errors.
2020-07-13 17:19:26 +02:00
Bryan Petty
ed173ed91e Use HTTPS with Trac links. 2017-07-04 13:15:14 -06:00
Vadim Zeitlin
f4c136815a Rename directory with Github-specific files to the correct name
It must start with a leading dot (thanks Bryan).
2016-02-19 01:56:18 +01:00