Install it using the same action we use for Unix builds and put the
directory containing its wrappers in the PATH.
Note that we need to do it after adding Homebrew directory to the PATH
because it isn't there by default on our self-hosted runner even if it
is on GitHub Actions ones.
Do it for the same reason as we do it on appveyor: the main/default
endpoint is unreliable and may not accept connections, results in
spurious test failures.
Ubuntu 20.04 will be dropped by GitHub Actions soon, so we can't use it
any more, but switching this build to a newer Ubuntu version doesn't
work because of #25168, so keep running it under 20.04 but use a
container for it.
Fix some check for matrix.container to really test that we're not using
Ubuntu 18.04 container (which is incompatible with the Node.JS version
used by GitHub Actions) instead of testing that we use some container.
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.
Replace most 'neither' words introduced after 2b0ee48ef7
(Fix double negatives used with 'neither', 2023-11-25)
with 'either'.
All changes are to comments only.
Closes#24999.
Even actions/checkout@v3 doesn't work in the container any longer,
because none of JS actions can run on Ubuntu 18.04 which doesn't have a
new enough glibc version any longer, so perform the checkout manually.
Disable ccache for the builds using this OS too for the same reason:
even though we could install ccache itself manually too, we don't have
any easy way to save and restore its cache without this action.
Also disable wxWebRequest tests using httpbin which can't be easily
installed.
The diff to httpbin.sh is best viewed ignoring whitespace-only changes.
(cherry picked from commit 9d1c5b108c)
See #24983.
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.
We can't do this when targeting ARM because all projects don't have ARM
configurations in them. To add them would require making the same
changes to all the 100+ projects as were done in f825661df1 (Improve
ARM64 support in wxMSW, 2024-06-14) in minimal.vcxproj, which will have
to wait until someone has time to automate it.
By default, UBSAN doesn't stop the program and so the exit code is still
0 even if errors are detected, so set halt_on_error=1 in UBSAN_OPTIONS
to change this.
But also still rerun the tests normally, without halting, to detect all
UB occurrences if there is more than one instance of it.
The latest go-httpbin version uses log/slog library only available
starting from this Go version, so ensure that we have it on our
self-hosted runner used for Mac CI builds.
It would be good to find out which test exactly hangs and, ideally,
understand why does it happen but for now just exclude them as we did
before the CppUnit cleanup in the test.
Selecting multiple items (in wxTreeCtrl with wxTR_MULTIPLE flag) and then
deselecting them by clicking on the current item that is also part of the
selection should deselect everything but the current item without starting
to edit that item.
Exclude UI tests dependent on wxUIActionSimulator (i.e. those added with
WXUISIM_TEST), they were previously ignored under wxOSX anyway.
Also, exclude only LabelEdit testcase instead of the entire TreeCtrlTestCase
when running under Wine.
Decrease kernel entropy to work around incompatibility between ASAN and
the latest kernel as recommended in the discussion of
https://github.com/actions/runner-images/issues/9491
This fixes crashes when running configure tests.
This reverts the actual change of db65742dbc (Remove some files on
GitHub Action runner to free up some space, 2024-03-16), while keeping
the "df" command just in case, as we were not really running out of disk
space and the error messages about it were a red herring.
The real problem will be fixed by the next commit.
The cache is enabled by default but just results in a warning message
when using the action without any actual Go stuff to cache (that we
don't have).
See #23398.
Python version is too fragile and gets constantly broken by the changes
in Python ecosystem, so switch to the hopefully more stable Go version.
Closes#23398.
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.