When running on CI kmcmplib gets fully build, which requires emscripten.
This change installs emscripten before running the source tarball
verification.
Also modify `launchpad.sh` and add option `--no-sign` so that we don't
have to set up things for signing. Use long options for `debuild` where
possible.
Build-bot: skip build:linux
Test-bot: skip
If a build couldn't find emcc and environment variables were not set,
previously the build silently quit. This change fixes this so that we get a
proper error message if emcc can't be found.
A similar fix is necessary for 7z where we use similar code.
Test-bot: skip
This change adds the `assert-true` and `assert-false` function to our
bash testing framework, together with unit tests.
Also rename the test file to `testing-framework.inc.tests.sh` to match
the implementation file.
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
# Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
# Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
maint(common): fix build when using different default node version
Currently automatically setting the node version (by setting the `KEYMAN_USE_NVM` env variable) is kind of broken on Linux because it still requires to put `~/.keyman/node` on the PATH. This basically limits us to the node version Keyman needs.
This change checks the path variable and adds `~/.keyman/node` if necessary. This allows to not have that on the path, thus allowing to use different node versions outside of Keyman, but still allows Keyman to build with the node version it needs.
Currently automatically setting the node version (by setting the
`KEYMAN_USE_NVM` env variable) is kind of broken on Linux because it
still requires to put `~/.keyman/node` on the PATH. This basically
limits us to the node version Keyman needs.
This change checks the path variable and adds `~/.keyman/node` if
necessary. This allows to not have that on the path, thus allowing to
use different node versions outside of Keyman, but still allows Keyman
to build with the node version it needs.
Test-bot: skip
Add a GitHub action to test Keyman Core on Windows / ARM64. We do not
have a TeamCity ARM64 agent for this. There are a number of config
challenges in making this work as many deps do not yet support ARM64;
however the changes are isolated to the .yml.
Test-bot: skip
Rename keyman-engine-tests.vcxproj to keyman32.tests.vcxproj, move up a
folder, rename other files to match test filename conventions, update
vcxproj for vs2022, and build and run this from build.sh:test.
Also remove keyman-engine.vcxproj, instead integrating the static lib
version of keyman32 into keyman32.vcxproj. One day in the future, we
could split back the other way, and have the DLL be essentially a link
action from the .lib, but that's higher complexity to setup.
Add a configuration step to install NuGet packages for Google Test
specifically for keyman32.tests.vcxproj. If we add Google Test to other
msbuild projects, we could move the packages/ up to top level of the
repo in the future (similar to node_modules) to reduce number of
configuration downloads.
Build-bot: skip build:windows,developer
Test-bot: skip
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
# Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
# Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
fix the version.rc files to display the correct description
and file name for keymanhp.*.exe fix version rc files to display correct
Also fix up the Keymanengine arm64 version names.