Commit graph

198 commits

Author SHA1 Message Date
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
Vadim Zeitlin
7def27f1c2 Run ASAN CI builds under Ubuntu 22.04
Leak sanitizer regularly crashes under Ubuntu 20.04, so try using the
newer version in the hope that it will work better there.
2022-06-29 22:27:48 +02:00
naveen
64add326f6 Restrict job permissions in GitHub actions workflows
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.
2022-06-28 14:00:44 +02:00
Vadim Zeitlin
e7785ac224 Merge branch 'bmp-read-fixes'
Fix and improve/simplify BMP reading code, in particular restoring
support for loading BI_BITFIELDS bitmaps broken some time ago.

See #22504.
2022-06-10 17:17:56 +01:00
Vadim Zeitlin
94a7251d81 Make the issue template even more prescriptive
Some things that seem too obvious to say apparently are not, so do say
them explicitly, as having the leftover from the template in the bug
reports is really confusing.
2022-06-10 18:14:35 +02:00
Vadim Zeitlin
94303bd1c4 Exclude all hidden tests in Mac CI workflow
We need to explicitly exclude these tests, which are not supposed to be
run, when specifying the tests to run using exclusions.
2022-06-09 01:33:46 +01:00
Vadim Zeitlin
c65c0e44f3 Remove duplicated configure call from Mac CI workflow
This seems to have been accidentally added in 6afd2e8f87 (Revert "making
sure CI builds don’t contaminated checked out directory on self-hosted
runner", 2022-04-17).
2022-04-19 00:33:33 +02:00
Stefan Csomor
db49f840ab Add GitHub Actions workflow for CI builds using Xcode
Also update the file used for Xcode builds to make them actually
succeed.

See #22321.
2022-04-19 00:31:07 +02:00
Stefan Csomor
e5827d0ae9 using proper bash defaults
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
2022-04-18 17:37:03 +02:00
Stefan Csomor
6afd2e8f87 Revert "making sure CI builds don’t contaminated checked out directory on self-hosted runner"
This reverts commit 88bd6d0135. we’re trying to use this approach: https://docs.github.com/en/actions/hosting-your-own-runners/running-scripts-before-or-after-a-job
2022-04-17 23:33:50 +02:00
Stefan Csomor
88bd6d0135 making sure CI builds don’t contaminated checked out directory on self-hosted runner
self-hosted runners are stateful - surprise - so we have to isolate things better
2022-04-17 20:47:54 +02:00
Vadim Zeitlin
73dc9086f5 Don't fail the entire CI run just because of cache saving error
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.
2022-04-16 16:07:20 +02:00