Commit graph

209 commits

Author SHA1 Message Date
Vadim Zeitlin
5ab36f825a Install locales used by our tests in before_install.sh
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).
2022-12-31 20:31:47 +01:00
Artur Wieczorek
21ee9983a2 Remove reference to no longer existing tests
ClippingBoxTestCase::wxClientDC doesn't exist anymore.
2022-12-29 12:39:27 +01:00
Maarten Bent
431171c2d0
Enable wxWebViewEdge in MSW Clang CI 2022-12-23 21:55:24 +01:00
Vadim Zeitlin
828a5b2c52 Show compiler version in the MSW cross-builds CI workflow
This avoids the need to go hunting for the version of the package
installed by apt-get.
2022-12-18 22:43:48 +01:00
Vadim Zeitlin
f2c04694e1 Enable optimizations in cross MSW CI builds
Amazingly, it seems that the latest gcc 12-based MinGW miscompiles
something in TIFF code _without_ optimizations as the SaveTIFF() test
fails when compiled with -O0 but works with -O2, so try enabling the
optimizations for this test.

It also makes more sense to run tests against the production/release
versions of the library anyhow, we only used --disable-optimise to save
on build time, but perhaps this is not as critical any longer.
2022-12-18 22:41:04 +01:00
Vadim Zeitlin
5e399fd575 And now fix the schedule specification too 2022-12-12 14:22:20 +01:00
Vadim Zeitlin
f8fffeeaf4 Fix indent in the "no response" workflow config file 2022-12-12 14:16:08 +01:00
Vadim Zeitlin
d6fb886d1a Use "no response" GitHub Action rather than "no response" bot
Running the action periodically is even simpler than setting up a bot,
so do this instead.
2022-12-11 21:48:45 +01:00
Vadim Zeitlin
6e8f60e308 Add configuration file for the "no response" GitHub bot
This bot will be used to automatically close all the issues remaining in
"repro needed" state for more than 100 days as we are almost surely not
going to ever get any answer if we don't get it after 3+ months.
2022-12-09 02:02:55 +01:00
Vadim Zeitlin
f7b2036a92 Allow running CI builds with tmate enabled
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.
2022-12-05 23:27:01 +01:00
Vadim Zeitlin
1467f644fc Simplify CI job cross-compiling wxMSW
Don't create a separate user, it should work without using one now (even
if it didn't work back when this file was initially added).

Also reuse the proc_count.sh script instead of using nproc directly here
for consistency.

Closes #23013.
2022-12-04 01:04:05 +01:00
Vadim Zeitlin
17ac31844d Allow using @NULL in interface/wx docs
This was previously disallowed by the code style check, but it's fine to
use this, as it expands to `nullptr` and it's not worth changing all the
existing occurrences of @NULL to @nullptr.
2022-11-23 02:44:50 +01:00
Maarten Bent
4f0502cde0
Add clang MSW build to CI 2022-11-19 20:00:20 +01:00
PB
5c72c7af35 Do not trigger non-CMake CI builds with CMake-only changes
Closes #22934.
2022-11-08 18:19:37 +01:00
Vadim Zeitlin
32adaf0402 Remove ANSI wxGTK CI build
This is not supported any longer.
2022-10-27 19:43:30 +02:00
Vadim Zeitlin
c440fbce78 Disable use of host pkg-config in wxiOS CI build
Set PKG_CONFIG_LIBDIR=/dev/null explicitly to disable the use of the
host libraries when cross-compiling.
2022-10-25 21:38:27 +02:00
Vadim Zeitlin
2bdd648128 Remove unnecessary wxCONFIGURE_FLAGS environment variable
It was confusing to have both it and wxCONFIGURE_OPTIONS, so remove it
and just use its value as part of wxCONFIGURE_OPTIONS.

No real changes.
2022-10-25 20:50:24 +02:00
Maarten Bent
619071cb71
Fix NULL usage
Ignore scintilla files in NULL check.
Allow to use nullptr as an alias.
2022-10-22 21:30:37 +02:00
Maarten Bent
289cd2e58e
Exclude Scintilla from whitespace check 2022-10-22 20:06:05 +02:00
Vadim Zeitlin
0594dfeb72 Update hendrikmuhs/ccache-action to avoid deprecation warnings
Upgrade it to v1.2.3.
2022-10-18 19:48:12 +02:00
Vadim Zeitlin
ddeefc0ff2 Update microsoft/setup-msbuild to avoid deprecation warnings
Upgrade it to v1.1.3.
2022-10-18 19:48:00 +02:00
Vadim Zeitlin
f044e5cab3 Avoid deprecation warnings for gha-setup-vsdevenv action
Switch to a local fork of the action using node 16 and latest
actions/core package as both are necessary to avoid getting deprecation
warnings.
2022-10-18 19:45:15 +02:00
Vadim Zeitlin
f8da25ca45 Switch CMake wxGTK build to Ubuntu 22.04
Avoid warnings about using deprecated Ubuntu 18.04 runner.
2022-10-18 19:17:48 +02:00
Vadim Zeitlin
3699dcf6b3 Check for adding NULL macro too
This might be too coarse, e.g. NULL is still needed in C code, so this
might need to be restricted to C++ files only later.
2022-10-18 18:36:30 +02:00
Vadim Zeitlin
c2eab06e4b Merge branch 'remove-motif-and-gtk1'
Remove obsolete and unmaintained wxMotif and wxGTK1 ports.

See #22877.
2022-10-18 18:30:58 +02:00
Vadim Zeitlin
2ebd4a6f8d Add check for obsolete macros to automatic code style checks
Avoid checking in code using wxOVERRIDE or wxNOEXCEPT again, now that
we've got rid of them.
2022-10-18 02:23:01 +02:00
Vadim Zeitlin
fb4f0b590c Remove wxGTK1 port and GPE support
Remove the port files and references to it from the common headers and
elsewhere.

Also remove GPE (GNOME PDA Environment) support as libgpewidget is
unmaintained since 2006 or so and has never been really used.

Use __WXGTK__ to test for any version of wxGTK now. Still define
__WXGTK20__ for compatibility, but always define it now and don't test
for it in the library code.
2022-10-16 22:01:02 +02:00
Vadim Zeitlin
0ef1cdcc21 Remove support for wxMotif
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.
2022-10-16 16:39:56 +02:00
Vadim Zeitlin
9ed1a4ea59 Use v3 of checkout action in GitHub CI builds
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.
2022-10-10 23:55:12 +02:00
Vadim Zeitlin
cccf2ba263 Try ignoring the first test failure in clang/Ubuntu 20.04 build
For unknown reason this test fails when run for the first time on this
system, but succeeds during the subsequent runs.
2022-10-10 23:50:11 +02:00
Vadim Zeitlin
ab1c5105a0 Switch clang CI build to use Ubuntu 20.04
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.
2022-10-09 16:55:25 +02:00
Vadim Zeitlin
be97082425 Install the specified compiler package in container
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.
2022-10-09 14:23:42 +02:00
Vadim Zeitlin
256d7296b2 Install xvfb when using a container
Unlike the full GitHub environment, this package is not pre-installed in
a "plain" Ubuntu container.
2022-10-09 01:49:52 +02:00
Vadim Zeitlin
d088c61b39 Don't install latest Python when running inside container
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.
2022-10-09 01:49:52 +02:00
Vadim Zeitlin
c93b1066c1 Run Ubuntu 18.04 builds in a container
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.
2022-10-09 01:49:22 +02:00
Vadim Zeitlin
04f30658cd Remove CI builds not using C++11
Also add MSVS 2019 and 2022 builds to AppVeyor.
2022-10-07 02:34:11 +02:00
Randalphwa
0e23fa04b4 Refactor issue templates using HTML comments
The main purpose is to place explanations in HTML comments which will
be automatically stripped out when the issue is submitted to GitHub.

Closes #22825, #22827.
2022-09-27 23:27:42 +02:00
Vadim Zeitlin
31720e1ee1 Fix bug when creating a new release in our gh-release action fork
The previous bug fix fixes updating an existing release, but broke
creating the new ones, which wasn't ideal.
2022-09-04 17:48:00 +02:00
Vadim Zeitlin
4432435754 Fix updating draft body with MSW files checksums
This unfortunately requires using our own fork of the action as this is
broken in the upstream version.
2022-09-04 16:41:18 +02:00
Vadim Zeitlin
37df53f969 Also show Unix archives checksums in the workflow log
This can be useful if we need to double check that the checksums are
correct and is also consistent with the MSW archives.
2022-09-04 16:41:18 +02:00
Vadim Zeitlin
0f07589008 Fix wrong use of slashes in a cmd script
Use backslashes instead.
2022-09-04 16:41:18 +02:00
Vadim Zeitlin
d5a9d99781 Add a GitHub Actions workflow for creating releases
This takes care of the easy to automate steps.
2022-09-04 03:25:20 +02:00
Alex
db3feb65c6 Use read-only permissions for CMake CI workflow too
This wasn't done in 64add326f6 (Restrict job permissions in GitHub
actions workflows, 2022-06-27) for some reason.

See #22574.

Closes #22769.

Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
2022-09-02 19:11:11 +02:00
Scott Talbert
458dc814c2 CI: fix/simplify httpbin use by standardizing Python version
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.
2022-08-18 21:52:21 +02:00
Vadim Zeitlin
4e26568f97 Replace macOS 10.15 runners with macOS 11 ones
10.15 is being phased out by GitHub, so switch to the still supported
runner platform version.

Closes #22698.
2022-08-04 02:32:18 +02:00
Vadim Zeitlin
d8da119ea1 Remove doxygen log file if it's empty in the helper script
This allows to avoid having an untracked file in the repository, so it
doesn't need to be ignored any longer, as it shouldn't exist after a
successful run.

Also output a warning if the log file is not empty, even though the full
dump is only shown in the GitHub workflow file, as when running the
script locally it may be more convenient to examine the log file in some
other way.
2022-08-03 19:43:10 +02:00
Vadim Zeitlin
e0dd7b8522 Add a CI build using C++20
This should allow detecting C++20-specific problems, such as warnings
about combining incompatible enums.
2022-07-31 22:22:58 +02:00
Vadim Zeitlin
623a68c8fa Explicitly use .exe extension when launching tests under Wine
Wine 7.0 and later doesn't find the command if the extension is omitted
any longer, unlike the previous versions.
2022-07-13 01:01:54 +02:00
Vadim Zeitlin
1a53e80bf7 Use Doxygen Awesome CSS theme
Import the theme files into a subdirectory without any changes, even not
removing the trailing whitespace, to facilitate updating them in the
future. Do not add the theme as a submodule as it's surprisingly big
(~12MB) and we don't want to spend extra time on cloning it in each of
our CI builds.

Using this theme gives a nicer appearance and supports the often
requested dark mode.

Remove all colour-related options from the existing custom CSS file as
they don't work well in dark mode.

Also switch to using SVGs with transparent background, rather than PNGs,
for the class diagrams, to avoid background colour mismatch in dark
mode.
2022-07-02 16:57:57 +02:00
Vadim Zeitlin
3c7596f0ff Switch to using Doxygen 1.9.1 for the documentation generation
This fixes the problem with empty descriptions in the annotated class
list and is a prerequisite for using custom CSS theme in the upcoming
commits.

Closes #22288.
2022-07-02 16:10:21 +02:00