Commit graph

202 commits

Author SHA1 Message Date
Vadim Zeitlin
5f486a0806 A better fix for installing cffi in Ubuntu 18.04 CI builds
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.
2023-02-28 20:06:39 +01:00
Vadim Zeitlin
66a39d7230 Fix installing httpbin in Ubuntu 18.04 CI builds
For some reason the wheel (i.e. binary package) that was installed by
python3-pip 9.0.1-2.3~ubuntu1.18.04.6 before is not installed by the
latest 9.0.1-2.3~ubuntu1.18.04.7 version of it which has just appeared
in Ubuntu 18.04 repositories, and cffi is now built as part of the
module installation, see the following pseudo-diff between the old
successful and the new failing builds:

- Downloading https://files.pythonhosted.org/packages/3a/12/d6066828014b9ccb2bbb8e1d9dc28872d20669b65aeb4a86806a0757813f/cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
+ Downloading https://files.pythonhosted.org/packages/2b/a8/050ab4f0c3d4c1b8aaa805f70e26e84d0e27004907c5b8ecc1d31815f92a/cffi-1.15.1.tar.gz

And building this module requires libffi, so install it.
2023-02-28 18:58:52 +01:00
Vadim Zeitlin
8505c48a34 Cancel in progress builds of PRs when a new one starts
Add a snippet based on the example in

https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow

to all CI workflows to cancel the currently running build when a new one
starts. This should ensure that we don't keep building the old version
of the PR after a new one has been pushed.
2023-02-21 14:58:57 +01:00
Maarten Bent
1e3c148b5f
Fix missing submodule in CI after Scintilla update
Remove scintilla from 'git diff' checks, since it doesn't recurse into submodules by default.
2023-02-15 00:20:20 +01:00
Vadim Zeitlin
4918df7261 Fix core files creation
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.
2023-01-31 01:27:48 +01:00
Vadim Zeitlin
b8c6ba18f3 Fail on warnings in MSW clang CI build
We want to keep the build warning-free and we already use -Werror for
the Unix CI builds, so do it here too, for consistency.
2023-01-06 00:58:05 +01:00
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
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
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