Commit Graph

81 Commits

Author SHA1 Message Date
Vadim Zeitlin
f58af942ef Merge branch 'github-actions-cmake' of https://github.com/MaartenBent/wxWidgets
Add CI workflow using CMake.

See https://github.com/wxWidgets/wxWidgets/pull/2440
2021-07-24 18:22:50 +02:00
Vadim Zeitlin
0b71b8d8eb Use simpler expression for libgcc path in MSW CI workflow
Use the gcc option which outputs this path directly, rather than
constructing it manually from pieces.

No real changes.
2021-07-24 17:21:39 +01:00
Maarten Bent
fcd9b4ba2b Add CMake builds to GitHub Actions 2021-07-24 16:39:19 +02:00
Maarten Bent
7446c64333 Add script to determine proc count in CI 2021-07-24 16:38:28 +02:00
Vadim Zeitlin
f417705e97 Try better workaround for the ASAN CI build failures
Try excluding RichTextCtrlTestCase in the CI build using ASAN, as the
test can still be killed while running the Table sub-test of this test
case even when running only a subset of all tests, so try skipping this
one instead.
2021-07-22 22:01:41 +02:00
Vadim Zeitlin
f982f15a65 Temporary work around for a problem in ProcessEnter() unit test
Running this test on its own doesn't work currently, so run
ButtonTestCase, which uses wxUIActionSimulator::Click(), which somehow
fixes the problem in ProcessEnter test (by giving focus to the correct
window, probably), before it to avoid failures in this test now that we
run "wx*" tests separately.
2021-07-22 17:32:40 +02:00
Vadim Zeitlin
6af7c3da82 Work around GUI tests failure in ASAN build on GitHub CI
It seems like running the full test suite runs out of memory, as the
test is simply killed, without any more details, after running a certain
number of tests.

Split the tests into 2 parts and run them separately to work around this
problem.
2021-07-22 17:31:21 +02:00
Vadim Zeitlin
1154689322 Show the GUI tests being executed in the CI workflow
This is useful to check where the test dies when it does it.
2021-07-22 17:27:43 +02:00
Vadim Zeitlin
d81d7b1563 Exclude .gitmodules from whitespace code style checks
This file uses TABs and can keep using them.
2021-07-17 20:41:18 +02:00
PB
346a31d545 Remove TravisCI mentions from build scripts
Travis CI is not used anymore, remove its mentions from the build scripts.
2021-07-15 13:53:12 +02:00
Vadim Zeitlin
9eea249924 Set locale to C.UTF-8 when running tests under Wine
Using UTF-8 encoding seems to be required for the Unicode file names to
work with Wine.
2021-07-04 17:44:39 +02:00
Vadim Zeitlin
425151d6ba Re-enable most of wxFileName tests under Wine
Exclude just the single test which fails when using Wine, but not all
the rest of them.

This is again similar to the grand-parent commit for the file functions
tests.
2021-07-04 15:09:06 +01:00
Vadim Zeitlin
dde4413f36 Re-enable most of file functions tests under Wine
Exclude just the single test which fails for mysterious reason when
using Wine, but not all the rest of them.
2021-07-04 15:03:12 +01:00
Vadim Zeitlin
7d9d4c9e50 Rename GitHub Unix CI workflow
No real changes, just use a less generic name now that we have wxMSW
cross-building CI workflow too.
2021-07-03 17:57:43 +02:00
Vadim Zeitlin
e28b2d91fc Revert commits trying to fix wxWebRequest tests under Wine
This reverts commits 7d796c6aa6 (Install python3 and pip for httpbin,
2021-06-27) and 3808e6a28d (Install winbind package required for using
wxWebRequest with Wine, 2021-06-28) as we skip wxWebRequest tests anyhow
under Wine because they don't work with its WinHTTP implementation, so
running httpbin is not necessary any longer and so neither is installing
Python.

These commits are still preserved in history and this commit itself
could be reverted later if Wine WinHTTP becomes functional enough to run
wxWebRequest tests successfully.
2021-07-03 17:21:07 +02:00
Vadim Zeitlin
2ac5510551 Skip running currently failing tests under Wine
Ideally these failures ought to be debugged and fixed, but this is not
really critical as the tests pass under native MSW systems, so it seems
like the failures are due to problems in Wine rather than with the tests
themselves, so for now simply skip the failing tests to let the entire
build pass.
2021-07-03 17:21:07 +02:00
Vadim Zeitlin
1051d9f0da Rename WINERUN environment variable to wxTEST_RUNNER
Make the variable name wx-specific before starting to use it in wx tests
too.
2021-07-03 16:45:15 +02:00
Vadim Zeitlin
3808e6a28d Install winbind package required for using wxWebRequest with Wine
This should address

009a:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is
outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually,
you can find it in the winbind package of your distribution.

Wine error and the subsequent test failures.
2021-07-03 16:45:14 +02:00
Vadim Zeitlin
3c714de200 Launch Xvfb before running non-GUI tests in GitHub wxMSW workflow
We must be able to create windows even in non-GUI tests for the windows
used internally, e.g. the one created during wxSocket initialization, so
ensure Xvfb is running before the tests start.
2021-07-03 16:45:14 +02:00
Vadim Zeitlin
0eca5b6846 Use wine64 for running 64 bit MSW binaries
Add WINERUN envirionment variable containing the right command to use.
2021-07-03 16:45:14 +02:00
Vadim Zeitlin
b9fb8358b3 Add the directory containing MinGW DLLs to Wine PATH too
These DLLs are required for running any applications built using MinGW.
2021-07-03 16:45:14 +02:00
Vadim Zeitlin
7d796c6aa6 Install python3 and pip for httpbin
We need Python 3 for running httpbin for wxWebRequest tests.
2021-07-03 16:45:14 +02:00
Vadim Zeitlin
3e5cf7a5c7 Fix owner after checkout 2021-07-03 16:45:14 +02:00
Vadim Zeitlin
769cb2e205 Add workflow for cross-building wxMSW on GitHub Actions
Use MinGW to build and Wine to run the GUI tests.
2021-06-27 13:40:10 +02:00
Vadim Zeitlin
5f3bca00c0 Skip building tests too if skip_testing flag is set
Currently it's only used for wxiOS build and the tests don't build
there.

Also set working-directory for the test building step once instead of
using "make -C" option twice.
2021-06-26 16:18:14 +02:00
Vadim Zeitlin
a5cf7f3479 Fix determining the number of logical CPUs under macOS
Use sysctrl instead of nproc which doesn't exist under Mac.
2021-06-26 16:18:14 +02:00
Vadim Zeitlin
32f2a679b4 Add wxMac and wxiOS builds to GitHub CI workflow
Run the builds under macOS 10.15.
2021-06-26 16:18:14 +02:00
Stefan Csomor
cb8d7c533f Update MacS-M1-make.yml
try simple steps
2021-04-18 21:14:19 +02:00
Stefan Csomor
260283fc5c Update MacS-M1-make.yml
try local install to avoid sudo
2021-04-18 20:45:12 +02:00
Stefan Csomor
64446f0955 Update MacS-M1-make.yml
build both
2021-04-18 20:24:05 +02:00
Stefan Csomor
866254dda0 Update MacS-M1-make.yml
add parallel build, try running tests, skip install
2021-04-18 19:56:17 +02:00
Stefan Csomor
2e4cf11d15 launch again 2021-04-18 19:40:02 +02:00
Stefan Csomor
9c509b966c Create MacS-M1-make.yml
First Action for M1 Mac
2021-04-18 19:34:22 +02:00
Vadim Zeitlin
2b89215eec Extract function for launching httpbin into its own file
Allow reusing it between GitHub and Travis CI.

Also show httpbin log in Travis CI logs too, not just on GitHub.
2021-04-04 01:00:35 +02:00
Vadim Zeitlin
996469115b Fix httpbin installation with Python 2 for GitHub CI too
This is the same as b78508615a (Explicitly install decorator 4.4.2 as
httpbin dependency, 2021-04-03) for Travis CI.
2021-04-03 23:42:54 +02:00
Vadim Zeitlin
8528addefb Do not ignore changes to before_install.sh script in CI workflow
This script is used by this file, so changes to it definitely affect it.
2021-03-23 17:45:19 +01:00
Vadim Zeitlin
4c9b986121 Try getting backtrace from gdb if the test crashes
Run gdb on the core file, if one was generated.

Also remove any limits on core file size to try to ensure that it is
generated in the first place.
2021-03-23 15:40:52 +01:00
Vadim Zeitlin
0d962fbe66 Set working directory for the GUI test build step too
This is more consistent with the non-GUI tests and avoids the need for
pushd/popd (the latter one was not needed anyhow, actually).
2021-03-23 15:33:51 +01:00
Vadim Zeitlin
b4d37c88bd Another fix for rerunning the tests after LeakSanitizer crash
Don't forget to unset "rc" if we're rerunning the test to avoid still
giving an error even if succeeds the second time.
2021-03-23 15:32:38 +01:00
Vadim Zeitlin
73f5b0e7b7 Disable fast unwind in ASAN when running non-GUI tests too
This might help with LeakSanitizer crashes.
2021-03-23 15:00:41 +01:00
Vadim Zeitlin
d15b76ad92 Get rid of separate "Launching httpbin" step in the CI builds
Just do it as part of "Testing".
2021-03-23 14:59:53 +01:00
Vadim Zeitlin
478720c18e Fix rerunning the tests in case of LeakSanitizer crash
The changes of 211cde11d4 (Rerun the test if LeakSanitizer crashed while
running it, 2021-02-05) didn't work because the script is executed with
"-e" shell option and so none of the commands added there was actually
run.

Fix this by using the usual "|| rc=$?" construct instead.
2021-03-23 14:56:45 +01:00
Vadim Zeitlin
a47bb47165 Disable leak detection if debug symbols are unavailable
There just doesn't seem to be any way to make this work right now, so
handle dbgsym packages installation failure and disable leak detection
in this case.

Hopefully ddebs.ubuntu.com repository will be updated in the future,
allowing this to work again.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
aad3bfdd52 Test clang using libc++ in GitHub Actions CI build
This is more useful than testing clang with libstdc++ which we also use
in the other CI builds with gcc.
2021-03-22 18:44:34 +01:00
Vadim Zeitlin
4ec8f8a221 Exclude Xcode project files from whitespace style checks
These files contain TABs and didn't pass the check and, of course, we're
not interested in the style in which they're written anyhow.
2021-03-15 11:36:46 +01:00
PB
1cb066364f Fix ignored path for MSW sources for GitHub CI
Due to a copy&paste mistake the path wrongly included non-existing "wx"
folder.

Closes https://github.com/wxWidgets/wxWidgets/pull/2275
2021-03-13 13:13:05 +01:00
Vadim Zeitlin
3c58e79339 Don't start CI builds for the changes to message catalogs only
We currently don't use these files in the existing builds.

It might be a good idea to add another GitHub Action workflow checking
the message catalogs compilation that would be executed _only_ for the
changes to them, but this can/will be done later.
2021-03-07 23:48:25 +01:00
Vadim Zeitlin
dfc1ae5de4 Ignore MSW-only changes for PR builds on GitHub CI too
This extends the grandparent commit to apply to pull requests and not
only to the master builds.
2021-03-07 23:47:27 +01:00
PB
79363eb8fd Add more ignored paths for GitHub CI
GitHub CI does not build for Microsoft Windows. Therefore, do not start builds
for changes made in folders used only for MSW.
2021-03-02 20:30:46 +01:00
Vadim Zeitlin
9dc676a32c Don't run GitHub CI action when other CI scripts change
Avoid wasting resources when only the scripts used with AppVeyor or
Travis CI change.
2021-02-15 16:04:51 +01:00