Commit Graph

139 Commits

Author SHA1 Message Date
Vadim Zeitlin
e9aaca50c2 Fix the name of the test excluded in the CI builds using Wine
The apparently innocuous a0d1379a57 (Split wxDC::GetTextExtent() test
case in 3 pieces, 2022-03-29) has broken the CI builds because it moved
the code failing under Wine (apparently due to problems in metafile
support implementation) into a differently named test.

Fix this now by excluding the right test.
2022-03-30 00:55:17 +02:00
Vadim Zeitlin
ecbcbdc945 Use ccache in MSW cross build CI workflows too
This should hopefully help to speed up this build as well.

Unfortunately we can't easily use ccache for the Mac builds because this
requires having brew installed and we don't have it currently.

We probably can use it for CMake workflow but this probably requires
some arcane way of configuring CMake to use ccache that I'm not aware
about and would need to be done by someone else.
2022-03-29 21:00:57 +02:00
Vadim Zeitlin
54f3264886 Use latest version of ccache action in GitHub CI workflow
It has a number of fixes and it makes sense to standardize on this
version before starting to use it in the other workflows too.
2022-03-29 21:00:57 +02:00
Vadim Zeitlin
263b1844dc Show only the updated files when uploading the docs
Don't use rsync "--verbose" option as it's too verbose, show just the
names of the files being uploaded.
2022-03-28 11:44:48 +02:00
Vadim Zeitlin
dfb4a3bd02 Run docs update workflow for pull requests too
Also run it only if any documentation-related files were modified.
2022-03-28 11:37:34 +02:00
Vadim Zeitlin
f26d25fcb6 Suppress ssh messages about adding known host in docs workflow
This is useless and contains the host IP and port which we don't want
want to show.
2022-03-28 11:33:25 +02:00
Vadim Zeitlin
4179d13dab Fail the documentation build if there are any Doxygen warnings
Check for Doxygen warnings, that are, for the most part, actually
errors, to ensure that they don't creep back in after they were recently
fixed.
2022-03-28 11:16:53 +02:00
Vadim Zeitlin
fe944dec68 Only deploy the documentation from master
Don't do it for pull requests.

This check also seems to render the check for the repository owner
unnecessary, so drop it instead of keeping both.
2022-03-28 11:16:53 +02:00
Vadim Zeitlin
20b8ba1773 Add extra script to the docs created in GitHub Actions workflow
This was done by the cron job running in docs.wxwidgets.org before, so
keep doing it here.
2022-03-28 11:16:53 +02:00
Vadim Zeitlin
15ea25448f Fix accidentally wrapped line in the docs workflow 2022-03-28 11:16:53 +02:00
Vadim Zeitlin
7e45373e16 Add a simple workflow for updating HTML docs online
Run doxygen and copy the generated files to docs.wxwidgets.org.

Ignore the new workflow in all the existing CI ones, as changes to it
shouldn't require rerunning them.

See #19126.
2022-03-28 00:54:46 +02:00
Vadim Zeitlin
8f1e277833 Ignore changes to GitHub issue templates in the CI builds
Unfortunately they will still run once when this commit is done, but at
least they won't run in the future when templates are modified.
2022-01-14 01:42:13 +01:00
Vadim Zeitlin
394842aa8f Merge branch 'ci-stl'
Add STL builds to GitHub CI.

See https://github.com/wxWidgets/wxWidgets/pull/2529
2022-01-11 23:50:42 +01:00
Vadim Zeitlin
11b8276cc4 Disable container overflow detection in Mac STL ASAN CI build
This seems to result in a false positive in BitmapComboBoxTestCase with
the following stack:

ERROR: AddressSanitizer: container-overflow on address 0x00010d5331c0 at pc 0x00010743e1e8 bp 0x00016b6f8940 sp 0x00016b6f8938
WRITE of size 8 at 0x00010d5331c0 thread T0
    #0 0x10743e1e4 in wxString::ConvertedBuffer<char>::ConvertedBuffer() string.h:3598
    #1 0x10743ddbc in wxString::ConvertedBuffer<char>::ConvertedBuffer() string.h:3598
    #2 0x10743f49c in wxString::wxString(wxString const&) string.h:1157
    #3 0x1074324ac in wxString::wxString(wxString const&) string.h:1157
    #4 0x10747a4c4 in void std::__1::allocator<wxString>::construct<wxString, wxString const&>(wxString*, wxString const&) memory:916
    #5 0x10747a3f8 in void std::__1::allocator_traits<std::__1::allocator<wxString> >::construct<wxString, wxString const&, void>(std::__1::allocator<wxString>&, wxString*, wxString const&) allocator_traits.h:288
    #6 0x107479e2c in std::__1::vector<wxString, std::__1::allocator<wxString> >::__construct_at_end(unsigned long, wxString const&) vector:1063
    #7 0x107479b3c in std::__1::vector<wxString, std::__1::allocator<wxString> >::insert(std::__1::__wrap_iter<wxString const*>, unsigned long, wxString const&) vector:1889
    #8 0x10756085c in wxBaseArray<wxString, wxSortedArray_SortFunction<wxString> >::Insert(wxString, unsigned long, unsigned long) dynarray.h:181
    #9 0x108028fbc in wxVListBoxComboPopup::Insert(wxString const&, int) odcombo.cpp:539
    #10 0x108030180 in wxOwnerDrawnComboBox::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType) odcombo.cpp:1122
    #11 0x10826d690 in wxBitmapComboBox::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType) bmpcboxg.cpp:169
    #12 0x10485271c in wxItemContainer::InsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType) ctrlsub.h:160
    #13 0x1048522a0 in wxItemContainer::InsertItems(wxArrayStringsAdapter const&, unsigned int) ctrlsub.h:165
    #14 0x10483c08c in wxItemContainer::Insert(wxArrayString const&, unsigned int) ctrlsub.h:247
    #15 0x10483dac8 in ItemContainerTestCase::Count() itemcontainertest.cpp:96
    #16 0x104866e04 in BitmapComboBoxTestCase::runTest() bitmapcomboboxtest.cpp:50
    ...

0x00010d5331c0 is located 64 bytes inside of 160-byte region [0x00010d533180,0x00010d533220)
allocated by thread T0 here:
    #0 0x105546714 in wrap__Znwm+0x74 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x4a714)
    #1 0x10747ae10 in void* std::__1::__libcpp_operator_new<unsigned long>(unsigned long) new:235
    #2 0x10747ad6c in std::__1::__libcpp_allocate(unsigned long, unsigned long) new:261
    #3 0x10747ace8 in std::__1::allocator<wxString>::allocate(unsigned long) memory:870
    #4 0x10747ab88 in std::__1::allocator_traits<std::__1::allocator<wxString> >::allocate(std::__1::allocator<wxString>&, unsigned long) allocator_traits.h:260
    #5 0x10747aac4 in std::__1::__split_buffer<wxString, std::__1::allocator<wxString>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<wxString>&) __split_buffer:314
    #6 0x10747a110 in std::__1::__split_buffer<wxString, std::__1::allocator<wxString>&>::__split_buffer(unsigned long, unsigned long, std::__1::allocator<wxString>&) __split_buffer:313
    #7 0x107479c30 in std::__1::vector<wxString, std::__1::allocator<wxString> >::insert(std::__1::__wrap_iter<wxString const*>, unsigned long, wxString const&) vector:1904
    #8 0x10756085c in wxBaseArray<wxString, wxSortedArray_SortFunction<wxString> >::Insert(wxString, unsigned long, unsigned long) dynarray.h:181
    #9 0x108028fbc in wxVListBoxComboPopup::Insert(wxString const&, int) odcombo.cpp:539
    #10 0x108030180 in wxOwnerDrawnComboBox::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType) odcombo.cpp:1122
    #11 0x10826d690 in wxBitmapComboBox::DoInsertItems(wxArrayStringsAdapter const&, unsigned int, void**, wxClientDataType) bmpcboxg.cpp:169
    #12 0x1075590bc in wxItemContainer::DoAppendItems(wxArrayStringsAdapter const&, void**, wxClientDataType) ctrlsub.h:352
    #13 0x10484c9e0 in wxItemContainer::AppendItems(wxArrayStringsAdapter const&, void**, wxClientDataType) ctrlsub.h:117
    #14 0x10484c8d4 in wxItemContainer::AppendItems(wxArrayStringsAdapter const&) ctrlsub.h:122
    #15 0x10483999c in wxItemContainer::Append(wxArrayString const&) ctrlsub.h:209
    #16 0x10483ccfc in ItemContainerTestCase::Count() itemcontainertest.cpp:82
    #17 0x104866e04 in BitmapComboBoxTestCase::runTest() bitmapcomboboxtest.cpp:50
    ...
2022-01-11 15:33:16 +01:00
Vadim Zeitlin
a3c89f38dc Switching to using Debian Testing for CI MSW cross builds
Sid is currently broken and installing dependencies fails, so switch to
Testing at least temporarily.
2021-12-17 21:40:50 +01:00
Vadim Zeitlin
e2d13c2d94 Show build environment and compiler version for Mac CI builds
This is similar to 6e96c6dda0 (Add "Show build environment" step,
2021-10-27) done for the Unix CI builds.
2021-12-15 17:50:55 +01:00
Vadim Zeitlin
ddde0f1eea Reenable cmake install step for Windows builds
Just skip using sudo under this OS, but still run "cmake install" as
this is required for the final test, checking the installation success,
to work.
2021-12-10 18:00:38 +01:00
Vadim Zeitlin
c39c119707 Try to force compiler choice to MSVC
Otherwise clang compiler is being chosen, even if MSVC should be
available.
2021-12-09 23:09:18 +01:00
Vadim Zeitlin
17e307ae67 Skip install step under MSW
This wouldn't work anyhow as "sudo" doesn't exist under this platform.
2021-12-09 20:23:44 +01:00
Vadim Zeitlin
25ede89983 Use bash for all build steps for MSW CMake build
Otherwise references to the variables don't work as expected.
2021-12-09 20:22:48 +01:00
Be
4ab869543f Add CMake build with MSVC to GitHub Action CI workflow 2021-12-09 20:09:21 +01:00
Vadim Zeitlin
cd385cf22d Trivial change to test rebuilding using ccache
Change the workflow file to trigger rebuild without affecting the other
builds.
2021-11-09 13:29:57 +01:00
Vadim Zeitlin
6e96c6dda0 Add "Show build environment" step
Show version of compiler and ccache being used.
2021-10-27 23:32:16 +02:00
Vadim Zeitlin
9320aeb28b Enable use of ccache for Unix CI builds
This should speed up build step for the common case when not too many
files have to be recompiled.
2021-10-27 22:58:19 +02:00
Vadim Zeitlin
fbb2ec85ef Install 32-bit version of xvfb in 32-bit wxMSW cross-build
libgl1:i386 conflicts with 64-bit version of xvfb in the latest Sid, so
try using 32-bit version of the latter.
2021-10-16 16:44:44 +02:00
Scott Talbert
769e24bae0 cmake: build all samples under Linux CI 2021-10-11 13:03:15 -04:00
Vadim Zeitlin
168c6d3bd5 Use STL in one of Mac builds too
Check that Mac-specific code compiles and works correctly in STL builds
too.
2021-09-23 18:14:27 +02:00
Vadim Zeitlin
4713c19b37 Use STL in one of MSVS CI builds
Do (almost) the same thing done in appveyor.yml to change wxUSE_STL
value in setup.h.
2021-09-23 16:48:35 +02:00
Artur Wieczorek
b0331f58b5 Don't run CI builds on Ubuntu 16 not supported any longer
Support for Ubuntu 16.04 ended on September 20, 2021.
See: https://github.blog/changelog/2021-04-29-github-actions-ubuntu-16-04-lts-virtual-environment-will-be-removed-on-september-20-2021/

See https://github.com/wxWidgets/wxWidgets/pull/2531
2021-09-23 16:29:10 +02:00
Artur Wieczorek
5ecf2e05a5 Execute ChoiceTestCase on wxMac 2021-09-22 22:19:45 +02:00
Artur Wieczorek
ce9f8d065a Execute ListBox-related tests under wxMac 2021-09-22 22:19:45 +02:00
Artur Wieczorek
5715c7f573 Execute ComboBoxTestCase under wxMac 2021-09-22 22:19:45 +02:00
Vadim Zeitlin
9e303c5a6b Check STL build in wxMSW cross-compile CI workflow
Use --enable-stl for one of the builds (and also --disable-compat30 just
to test it too) to check that wxMSW compiles correctly in STL mode too.
2021-09-22 17:11:32 +02:00
Artur Wieczorek
efb40daf4f Execute Window::SizerErrors test under wxMac 2021-09-11 23:24:22 +02:00
Vadim Zeitlin
0fd138a4e7 Slightly simplify running the GUI tests in the Mac CI workflow
No real changes, just don't use pipefail option when we're not using
pipelines at all -- this was somewhat confusing.
2021-09-11 13:54:24 +02:00
Artur Wieczorek
0381b16bd1 Skip tests that currently fail under wxMac 2021-09-11 09:16:32 +02:00
Artur Wieczorek
301b08b95d Execute GUI tests under wxOSX 2021-09-11 09:16:32 +02:00
Vadim Zeitlin
c835d1afa6 Install locales used in wxUILocale tests on the CI system
Ensure that the tests are run instead of being skipped.

Also merge "Set environment variables" and "Before install" steps into a
single "Set up" step to avoid adding yet another separate step for
locale installation.
2021-09-01 18:11:40 +02:00
Vadim Zeitlin
d81dc9f125 Remove tests for matrix.skip_gui in workflow files
This setting is used, so just remove all the tests for it.
2021-08-28 23:50:55 +02:00
Vadim Zeitlin
dd33dc2d68 Move wxMac and wxiOS builds to Mac CI workflow
Still run them on GitHub runners, but do it using the same steps as for
our own builds, as there should be no reason to have any difference
in the build steps independently of where exactly they run.

Also remove checks for matrix.skip_testing from the Unix CI workflow as
they are not needed there any more because the tests are always run.

This commit is best viewed with --color-moved git option.
2021-08-28 23:50:55 +02:00
Vadim Zeitlin
446268b61c Rename ci_mac_selfhosted.yml to just ci_mac.yml
We are going to have both self- and GitHub-hosted runners in this file
soon, so rename it for clarity.

No changes yet.
2021-08-28 23:50:54 +02:00
Vadim Zeitlin
144816105f Make apt even quieter
Even "-qq" is insufficient to suppress the annoying, and useless for
non-interactive use, "Reading database ... NN%" output, so add the
option suppressing it to all apt commands.

Also use "-y" as a single "-q" is not enough to suppress the prompts.
2021-08-27 23:33:25 +02:00
Vadim Zeitlin
16ae31b0da Fix setting DEBIAN_FRONTEND for apt-get install
Do it in the command executed by sudo, as sudo doesn't propagate the
environment variable values by default (--preserve-env option could be
used to do it, but it's simpler to avoid it).
2021-08-27 23:02:10 +02:00
Vadim Zeitlin
4328e81dde Install 32 bit OpenGL libraries explicitly in the CI workflow
For some reason 32 bit libgl1 is not pulled in as win32 dependency any
more, resulting in errors when running the test using Direct2D.

Fix this by installing the package explicitly.
2021-08-27 21:46:49 +02:00
Vadim Zeitlin
6e2d6e9bd4 Enable using MSVS prerelease versions in MSVS CI workflow
Without this options (available in 1.0.3 only), MSVS 2022 is not
detected.
2021-08-24 22:07:36 +02:00
Vadim Zeitlin
b48a266c6d Try building with MSVS 2022 too 2021-08-24 22:00:15 +02:00
Vadim Zeitlin
5385c9ced1 Add DLL Release wxMSW CI build
Append the path to the directory containing the DLLs to PATH to allow
the tests to find them.

Also quote the value of the "Configuration" property as it may (and
does) contain spaces.
2021-08-24 19:33:45 +02:00
Vadim Zeitlin
4d465837e0 Disable currently failing DLL Release MSVS CI build
This was merged accidentally, leave only the passing static build until
the DLL build is fixed.
2021-08-24 17:26:22 +02:00
Vadim Zeitlin
0701402737 Add CI workflow for building wxMSW using MSVS natively
This should allow running all the tests faster than it's done by
AppVeyor.

Ignore changes to this workflow file in all the other workflows.
2021-08-24 17:12:06 +02:00
Vadim Zeitlin
6a99b2d9a8 Fix wrong exclusion in MSW cross-build CI workflow
Ignore GTK files, not MSW ones.
2021-08-24 17:12:05 +02:00