Commit Graph
43 Commits
Author SHA1 Message Date
Scott Talbert f9ffb1bc82 Update Unicode mapping tables to current versions
The primary motivation for this is to resolve a licensing issue with
these files (the files have been relicensed with a Debian-approved
license), but there were a few minor fixes/additions since the previous
update.  The generation code/scripts required some modernization to get
it working on a current system, as well as needing to handle the format
of CP866.TXT, which is a bit different than the other files.

Update the whitespace check to exclude these files from it as we prefer
not to modify them to avoid any divergences with the upstream copies
(even trivial ones).

Closes #26700.
2026-07-21 16:01:15 +02:00
Scott Talbert 39c73b42f5 Update GitHub Actions to be Node v24 compatible
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Node v20 has gone EOL and will be removed from GitHub Actions soon.
This migrates all the GitHub Actions to use versions that are Node 24
compatible.

The only change of real substance is moving to the step-security fork of
gha-setup-vsdevenv which seems probably better than wx maintaining its
own fork.
2026-06-02 15:57:53 -04:00
Maarten Bent 8ca3d109de Ignore tabs in cotire.cmake 2025-09-14 21:51:10 +02:00
Vadim Zeitlin 8efb18de54 Revert "Also exclude wayland-scanner-generated sources from space checks"
This reverts commit 63707e2767 for the
same reason as in the previous commit: the generated sources are not
stored in the repository any longer.
2025-09-08 00:04:34 +02:00
Vadim Zeitlin 5ab553fcbb Revert "Exclude headers generated by wayland-scanner from code checks"
This reverts commit c375a91dd6 as it's
not needed any longer because the files in question are not present in
the repository any more.
2025-09-08 00:03:50 +02:00
Vadim Zeitlin 63707e2767 Also exclude wayland-scanner-generated sources from space checks
We don't care about TABs in the generated code.
2025-08-22 22:19:00 +02:00
Vadim Zeitlin c375a91dd6 Exclude headers generated by wayland-scanner from code checks
These files contain TABs, and NULLs, but we don't care about them.
2025-08-22 21:27:36 +02:00
Vadim Zeitlin 858e2eddc0 Use ubuntu-latest for checks not relying on any specific version
For the checks running simple shell scripts, any Ubuntu version should
work, so switch them to use the latest one to avoid having to update
them every time when an existing version is dropped by GitHub Actions.
2025-02-12 19:04:51 +01:00
Lauri Nurmi f88a0a933d Add a script and CI action for tests/allheaders.h
Check that all headers are either #included or mentioned
in tests/allheaders.h.
2025-01-31 17:32:00 +01:00
Vadim Zeitlin 9eda19f643 Merge branch 'samples-vcxproj'
Add MSVC projects for all samples.

See #24937.
2024-11-27 01:08:34 +01:00
Ulrich Telle 57e1c9e1ee Update wxWidgets language database and improve locale matching
This commit improves the best locale match algorithm by prioritizing
closer matches and add many new tests verifying that this works as
expected.

In order to do this, new information had to be added to the language
database, which was extended with it and updated to use the latest
Unicode CLDR data and latest Windows 11 locale list.

Further, add a set of scripts for maintaining the language database up
to date and a GitHub workflow `genlangdb.yml` which can be run manually
to regenerate the wxWidgets language-related source and header files
from the underlying Windows and Unicode data. It produces 2 artifacts:

- wxLanguageDatabaseDist.zip allows to easily update the
  language-related files in the wxWidgets repository by simply copying
  all files.
- the normal workflow log and wxLanguageDatabaseLog.zip allow to check
  all temporary files of the regeneration process and to detect
  potential issues, before the language-related files are actually
  replaced by the new ones.

Finally, fix wxUILocaleImplName::GetPreferredUILanguages: Under Windows
10 and above the Windows API function ::GetUserPreferredUILanguages()
returns only the primary UI language plus US English. Additional
preferred UI languages installed by the user are ignored, so instead of
using this function read the list of user preferred languages from the
Windows registry.

Closes #24855.
2024-11-18 16:46:25 +01:00
Vadim Zeitlin 6323109829 Exclude generated Perl scripts from whitespace checks
App::FatPacker adds a lot of extra whitespace but we don't really care
about it in the generated files, so just skip them in the corresponding
check.
2024-11-03 20:11:44 +01:00
Blake-Madden 881488b3e5 Check for wxMEMBER_DELETE and __WXFUNCTION__ in code checks
These have modern equivalents.

Closes #24612.
2024-06-16 00:12:41 +02:00
Bill Su 509cc0f2f9 Use node20 instead of deprecated node16 for GitHub Actions CI
This can't be done for Ubuntu 18.04 because its libc version is too old
for node20 to run there.

Update version of all the actions we use to use node20 in them too.

Closes #24377.
2024-03-09 20:26:46 +01:00
Vadim Zeitlin 6a41d8a486 Relax code style check for NULL
This is fine tuned to allow the string in the last commit to pass this
check, but still generally makes sense too.
2023-10-01 17:05:28 +02:00
Vadim Zeitlin 2e22666db8 Compile Cocoa control example in Unix "widgets" sample makefile
Previously this was never done, as we couldn't determine if we were
using Cocoa or not at generation time, but we can determine it in the
makefile itself.
2023-07-11 13:40:21 +02:00
Vadim Zeitlin c9c213553a Exclude some bakefiles from Whitespace code check too
Add a couple of .bkl files containing TABs in the embedded make
fragments to the list of files skipped by the whitespace check.
2023-07-11 13:39:13 +02:00
Vadim Zeitlin fe66c0e38c Exclude a couple of makefile-like files from whitespace checks
It's require to use TAB for indentation in these files.
2023-06-20 15:12:34 +02:00
Vadim Zeitlin 6bba7055aa Exclude descrip.mms files everywhere from the whitespace check
Previously only the top-level one was excluded, but others use TABs too.
2023-06-03 21:07:40 +02:00
Vadim Zeitlin 438da9c99a Avoid mis-detecting NULL as part of other identifiers
Tighten the search for NULL in the code style check to avoid flagging
the use of MONITOR_DEFAULTTONULL (Win32 API constant) as violation.
2023-05-08 23:40:51 +01:00
Vadim Zeitlin a0ea27cccf Restrict check for obsolete macros to C++ code
Only check for the use of NULL in C++ code, not C, for example, where
it still can, and should, be used.

Also allow using "NULL" as part of a larger macro name (where it would
be followed by "_") or at the beginning/end of a string.
2023-04-17 18:33:16 +02: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 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 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 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 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 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 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
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 1fbda84306 Exclude Info.plist files from whitespace checks
These files use TABs for indentation, so the standard check doesn't work
for them (and it doesn't seem worth having a special check just for
them neither, so simply don't check them at all).
2021-08-15 18:39:34 +02:00
Vadim Zeitlin d81d7b1563 Exclude .gitmodules from whitespace code style checks
This file uses TABs and can keep using them.
2021-07-17 20:41:18 +02:00
Vadim Zeitlin 4ec8f8a221 Exclude Xcode project files from whitespace style checks
These files contain TABs and didn't pass the check and, of course, we're
not interested in the style in which they're written anyhow.
2021-03-15 11:36:46 +01:00
Maarten Bent 36ab71301c Add CI check for mixed line endings
Trigger workflow on all file changes.

Closes https://github.com/wxWidgets/wxWidgets/pull/2224
2021-02-09 22:17:13 +01:00
Vadim Zeitlin 96eb09a383 Really ignore TABs in makefiles etc in the whitespace check
Add missing ":" in the beginning of Git pathspecs to make the exclusions
really work.

Also add entries for Makefile.in, which is not caught by **/*akefile*,
and other files in the root directory containing hard TABs.
2020-10-06 02:14:46 +02:00
Vadim Zeitlin 5358dd7007 Add a check for trailing whitespace and TABs
Just use Git itself to check for it in the new files.
2020-09-28 03:24:44 +02:00
Vadim Zeitlin 90ac5eeb6a Let shell expands $HOME in GitHub workflow
Apparently $HOME doesn't get expanded otherwise, resulting in "codespell
not found" error.
2020-07-18 19:49:21 +02:00
Vadim Zeitlin e875b11f74 Run codespell from a separate script in GitHub workflow
This allows to give a more detailed error message in case of a problem
and also makes it simpler to run the spell check locally.
2020-07-18 19:42:48 +02:00
Vadim Zeitlin 0744cd14a1 Try using Python 3 for codespell
Running it using Python 2 seems to result in a problem with not matching
an exclusion line with non-ASCII character, which works fine with Python
3 locally.
2020-07-13 17:38:01 +02:00
Vadim Zeitlin 77e1e6330b Run codespell from where it is installed by pip
And disable the (useful) warning about this directory not being in PATH.
2020-07-13 17:35:30 +02:00
Vadim Zeitlin d432b1a685 Try installing codespell 1.17.1 via pip
The 1.16 version available in Ubuntu 20.04 doesn't work nearly as well
as the latest one.
2020-07-13 17:30:47 +02:00
Vadim Zeitlin 1fcdaa7f22 Combine all values of codespell --skip option into one
codespell 1.17.1 from Debian Sid accepts multiple -S options, but 1.16
in Ubuntu 20.04 doesn't seem to like them.
2020-07-13 17:25:18 +02:00
Vadim Zeitlin e4a826d250 Add GitHub workflow checking spelling for headers and docs
Run codespell using GitHub Actions to flag any new spelling errors.
2020-07-13 17:19:26 +02:00