Try detecting more warnings that can be useful when building the
library.
Don't use -Wextra with gcc 4.8 which generates several completely
spurious warnings not generated by later compiler versions and which are
not worth fixing/working around.
wxString is always based on std::[w]string since 2c0c727f49 (Remove wx
own wxStringImpl implementation, 2022-11-16) and all containers use
standard containers by default too now -- and there is a separate
wxUSE_STD_CONTAINERS for this anyhow.
The only remaining use of wxUSE_STL was as the default value for
wxUSE_STD_STRING_CONV_IN_WXSTRING option, but it's not really needed
for this neither, and this option can just be set to 0 by default.
Also add wxUSE_CHAR_CONV_IN_WXSTRING which can now be set to 0 too to
disable all unwanted implicit conversions (even "safe" ones, to wide
strings, in addition to the unsafe ones to narrow strings that could be
already disabled with wxUSE_UNSAFE_WXSTRING_CONV) to allow people who
don't want to have any implicit conversions at all to do it.
Keep --enable-stl configure option for compatibility, but warn if it is
used to tell people that it is not needed any longer.
The first unit test using wxWebView sometimes fails in other builds too,
so try using the same hack as was previously used for the clang build
for them as well.
Work around the problem which was previously hidden by 07dfc18cc0
(Disable wxWebView in ASAN CI build, 2021-01-31) by building the webkit
extension shared library without ASAN.
This should ideally be handled at the build system level, but this seems
difficult to do, so use this hack for now -- it at least ensures that
wxWebView unit tests are tested with ASAN too.
Testing disabling 3.0 compatibility is useless as it's disabled by
default in master, so disable 3.2 compatibility instead.
Also enable 3.0 compatibility for one of the builds to check that doing
this still works too.
Install its binary package from Ubuntu repositories directly instead of
installing libffi-dev to compile it ourselves later, as was done in the
previous commit. This is faster and also fixes the remaining problem in
the CI job using gcc 4.8 as this compiler can't be used to build cffi
because it uses -Wdate-time option incompatible with it.
Ubuntu configured to use apport by default, which intercepts core files
creation and creates them in a different directory.
Force creating core files in the current directory by overwriting the
corresponding kernel option. Note that this requires using --privileged
docker option as otherwise /proc/sys is mounted read-only inside the
contains and cannot be modified.
See #23189.
Previously this was done in the GitHub CI script, but this isn't
specific to GitHub, so do it in the common script to make these locales
also available under Cirrus CI.
Also switch to just installing locales-all instead of installing locales
and then running locale-gen because this is simpler and actually works
(locale-gen would have only worked if we modified /etc/locale.gen before
running it, but we didn't).
Add a disabled by default step allowing to connect to CI machine via
ssh, this can be useful for debugging the problems that can't be
reproduced locally.
This port hasn't been updated for ages and is not used by anybody any
longer, so remove its code to facilitate maintenance.
Also remove references to this port from the documentation and most of
the other places (VMS-specific descrip.vms files still check for it
because it's not clear how to update them all), including configure.
Regenerate the latter and rebake all makefiles.
Finally document that this port is not available any longer.
The previously used v2 uses node12 which is being deprecated by GitHub
and won't be any longer available soon, so switch to the currently
supported version.
Running it in 18.04 container would require installing libc++-dev and
other packages, it's simpler to just write it on the GitHub-provided
runner where they're already installed.
Note that we need to explicitly choose to use clang-10, as the GitHub
runner has clang-11 and clang-12 installed as well and the default clang
version is 11, but only libc++-10-dev is installed, so using the default
clang with -stdlib=libc++ fails out of the box.
Don't always install g++ as an existing build uses clang.
Also modify another build to use g++-4.8 as this is the oldest still
supported compiler and so it's nice to have a build using it.
This doesn't work because the action installs an ABI-incompatible
version of Python 3.10, resulting in errors like the following
python3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
(required by /__t/Python/3.10.7/x64/lib/libpython3.10.so.1.0)
so try using the system version (3.6) to avoid this.
Ubuntu 18.04 runner is being discontinued by GitHub, so switch the
builds using it to using a container.
We probably ought to actually run all of the builds in containers to
make them independent of changes to GitHub environment.
Now that we don't use Travis CI any longer (and don't use httpbin on the
other CI providers yet), we can make our life much simpler by just using
Python 3.10 on all platforms instead of trying to find version-specific
workarounds for various python/pip/httpbin incompatibilities.
Closes#22726.
Restrict the GitHub token permissions only to the required ones, i.e.
just read-only access to the code.
This is done in order to reduce the potential harm in case of a
malicious pull request, see GitHub blog post at
https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
Closes#22574.
Update ccache-action to a not yet released version including the fix for
failing the entire CI job if saving the cache failed -- this shouldn't
happen at all, but in practice it does happen from time to time, and
it's better to succeed, rather than fail in this case.
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.
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.
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.