Commit graph

899 commits

Author SHA1 Message Date
Marc Durdin
7c90c640a8
Merge pull request #15866 from keymanapp/dependabot/npm_and_yarn/multi-2b9612f831
chore(deps): bump uuid and @actions/core
2026-05-14 01:26:45 +10:00
Marc Durdin
92a0938b88 chore: add @types/node to resources/build/version
Test-bot: skip
Build-bot: skip
2026-05-13 17:24:38 +02:00
Marc Durdin
fd466f338d chore: move localization documentation to /docs
Test-bot: skip
Build-bot: skip
2026-05-05 16:31:27 +02:00
dependabot[bot]
5ef1292648
chore(deps): bump uuid and @actions/core
Removes [uuid](https://github.com/uuidjs/uuid). It's no longer used after updating ancestor dependency [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core). These dependencies need to be updated together.


Removes `uuid`

Updates `@actions/core` from 1.9.1 to 1.11.1
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 
  dependency-type: indirect
- dependency-name: "@actions/core"
  dependency-version: 1.11.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-23 01:47:44 +00:00
rc-swag
2f61208dec
Merge branch 'master' into fix/windows/15571-contextual-help-chm-file-has-blank-pages
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-19 20:00:43 +10:00
Darcy Wong
c60be3711f fix(resources): Pin sha to github-script
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-18 07:34:53 +07:00
Darcy Wong
44a46f5d45 maint(common): Update actions/checkout
* actions/checkout@v6.0.2
2026-03-17 09:31:00 +07:00
Marc Durdin
ae3fe74fc2
Merge branch 'master' into fix/windows/15571-contextual-help-chm-file-has-blank-pages
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-17 03:11:30 +11:00
unknown
08c98e7ecf in function Meta: consider AST correctly for setting redirect 2026-03-11 09:50:55 +01:00
dependabot[bot]
7df8eac192
chore(deps-dev): bump minimatch in /resources/build/pr-build-status
Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.5 to 9.0.9.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:07:21 +00:00
Marc Durdin
cca8d4d21f docs: tweak build bot docs and update imsample gitignore
Just minor maintenance.

Build-bot: skip
Test-bot: skip
2026-03-06 10:21:04 +01:00
Eberhard Beilharz
a3ea01451e
chore(linux): use xz compression for source tarballs
Using the xz compression instead of gzip greatly reduces the size of the
tarball.

Follows: #15566
Test-bot: skip
2026-02-06 17:37:34 +01:00
Eberhard Beilharz
5fbe9bc955
chore(linux): add assert-true and assert-false to test framework
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.
2026-02-06 16:36:02 +01:00
Darcy Wong
d9f4e2f07c fix(common): Update langtags.json to 2026-02-03 release
Also update minimum-versions
2026-02-04 09:32:29 +07:00
Darcy Wong
05424c0265 chore(common): Merge remote-tracking branch 'origin/master' into chore/common/update-langtags-json
# 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
2026-02-04 09:28:26 +07:00
Marc Durdin
2148a1dee1 fix(windows): handle symstore correctly from bash script
Fixes: #14837
Follows: #15509
Test-bot: skip
2026-01-30 16:36:27 +11:00
Darcy Wong
e98f4ea4ad chore(common): Update KEYMAN_VERSION_LANGTAGS in minimum versions 2026-01-20 08:26:21 +07:00
Eberhard Beilharz
051b32219f
Merge pull request #15422 from keymanapp/chore/common/nodepath
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.
2026-01-14 11:04:32 +01:00
Eberhard Beilharz
1aac4e3170
docs(common): update documentation comments
Addresses code review comment.

Build-bot: skip
Test-bot: skip
2026-01-14 11:03:09 +01:00
Eberhard Beilharz
c12cff3d81
maint(common): allow to use different 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.

Test-bot: skip
2026-01-13 16:28:43 +01:00
Darcy Wong
56ebe97cb6 docs(common): Update Crowdin CLI documentation 2026-01-13 10:50:00 +07:00
Marc Durdin
92a6bd0c62 maint(resources): add new ARM64 test status check to PR build status check
Build-bot: skip
Test-bot: skip
2026-01-08 16:05:54 +11:00
Marc Durdin
bfe3b77b81 maint: add script to report on recent changes to stable release
Build-bot: skip
Test-bot: skip
2025-12-23 12:30:53 +11:00
Marc Durdin
484acff8e8
Merge pull request #15353 from keymanapp/maint/win/15065-arm64-core-test
maint(windows): add GitHub Action for ARM64 test for Keyman Core 🦾
2025-12-16 18:49:57 +01:00
Marc Durdin
98cc5e8893 maint(windows): rename action and clarify documentation
Build-bot: skip
2025-12-17 04:46:07 +11:00
Marc Durdin
3048705c9b maint(windows): add GitHub Action for ARM64 test for Keyman Core
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
2025-12-16 06:48:25 +11:00
rc-swag
4ac24f7b7b chore(windows): Merge branch 'epic/win-arm' into feat/windows/64x-pure-forwarder-wix-3 2025-12-09 14:00:45 +10:00
Marc Durdin
d7f21e80ec chore: Merge remote-tracking branch 'origin/epic/win-arm' into auto/A19S17-merge-master-into-win-arm
Significant conflict resolution fixes required to:
*	windows/src/engine/keyman32/build.sh
*	windows/src/engine/keyman32/keyman-engine.vcxproj
*	windows/src/engine/keyman32/keyman32.vcxproj
*	windows/src/engine/keyman32/keyman32.vcxproj.filters
*	windows/src/engine/keyman32/tests/keyman32.tests.vcxproj
2025-12-05 10:16:37 +01:00
Marc Durdin
6c99f33bcc
Revert "change(windows): include map2pdb generation for relevant Delphi projects" 2025-12-03 14:13:54 +01:00
Marc Durdin
0d8999574a
Merge pull request #15184 from keymanapp/dependabot/npm_and_yarn/resources/build/pr-build-status/glob-10.5.0
chore(deps-dev): bump glob from 10.4.5 to 10.5.0 in /resources/build/pr-build-status
2025-12-03 13:45:25 +01:00
Marc Durdin
024432377a
Merge pull request #15173 from keymanapp/dependabot/npm_and_yarn/resources/build/pr-build-status/js-yaml-4.1.1
chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in /resources/build/pr-build-status
2025-12-03 13:42:16 +01:00
Marc Durdin
ca77e41d74 change(windows): add unit testing to keyman32 build
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
2025-11-27 09:11:39 +01:00
rc-swag
e0c63a4e47 chore(windows): Merge branch 'epic/win-arm' into feat/windows/64x-pure-forwarder-wix-3 2025-11-26 23:15:25 +10:00
rc-swag
2d800b2008
feat(windows): address review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-24 16:26:06 +10:00
rc-swag
0837da4b7d chore(windows): Merge branch 'feat/windows/11905/keymanx64-keymanarm64' into feat/windows/64x-pure-forwarder-wix-3
# 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
2025-11-21 18:37:18 +10:00
rc-swag
ad34a44c9f chore(windows): Merge branch 'epic/win-arm' into feat/windows/11905/keymanx64-keymanarm64 2025-11-21 18:36:13 +10:00
rc-swag
19cc857b99 feat(windows): fix version rc files to display correct
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.
2025-11-21 14:49:57 +10:00
rc-swag
9881cbb689 chore(windows): Merge branch 'feat/windows/11905/keymanx64-keymanarm64' into feat/windows/64x-pure-forwarder-wix-3 2025-11-20 19:25:55 +10:00
rc-swag
85dcdcf066 feat(windows): update wix to 3.14.1
Update the WiX toolset build version to 3.14.1 for Arm64.

Fixes: #15192
2025-11-20 15:35:46 +10:00
dependabot[bot]
4a76721f45
chore(deps-dev): bump glob in /resources/build/pr-build-status
Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 22:23:08 +00:00
rc-swag
25770b17f1 feat(windows): setproperty wix_native_machine msi
Works in the msi but not the exe
2025-11-18 11:55:38 +10:00
Marc Durdin
6e470efa3e
Merge pull request #14799 from keymanapp/change/windows/include-map2pdb-for-relevant-projects
change(windows): include map2pdb generation for relevant Delphi projects
2025-11-17 17:02:25 +01:00
rc-swag
ab6772e36d feat(windows): build a kmtip ARM64X build
Add ARM64EC build then use to create a ARM64X build.
2025-11-16 07:59:40 +10:00
dependabot[bot]
583f5eef11
chore(deps-dev): bump js-yaml in /resources/build/pr-build-status
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 17:46:41 +00:00
Marc Durdin
57c0fa3d03
Merge pull request #15129 from keymanapp/maint/resources/builder_launch
maint(resources): add `builder_launch` function
2025-11-14 14:24:19 +01:00
Marc Durdin
8f95d84014
Merge pull request #15114 from keymanapp/maint/resources/builder-timing
maint(resources): add build timing report to builder
2025-11-14 14:24:11 +01:00
Marc Durdin
0988a86fa4 maint(resources): improve builder_launch to allow for arbitrary parameters
Also cleans up reporting of child scripts and links the list of reserved
parameters across a few locations. Address review comments.
2025-11-14 10:44:35 +01:00
Marc Durdin
edca16f508 change(windows): include map2pdb generation for relevant Delphi projects
Adds a call to map2pdb for Delphi projects, if map2pdb is an executable
on the path. This way, we get .pdb files we can use for debugging and
for performance profiling. This also replaces tds2dbg.

If map2dbg is available, then the build and install actions will copy
the PDB to be alongside the corresponding executable, making most debug
actions relatively seamless for finding symbols.

Also fixes up setup.exe in Windows and Developer to extend setup.exe to
a 512-byte boundary after map2pdb patches the PE.

Relates-to: #14787
Build-bot: skip release:developer,windows
Test-bot: skip
2025-11-13 14:48:18 +01:00
rc-swag
53ecc3665c feat(windows): as wixproj for dotnet build wip 2025-11-13 16:41:46 +10:00
Eberhard Beilharz
2d8a4aeebc
maint(core): fix option defaults for Meson >= 1.1
Meson 1.1 changed the name of the options file from `meson_options.txt`
to `meson.options`. Currently we're stuck with Meson 1.0 as minimum
Meson version because we still support Ubuntu 22.04 Jammy, but on some
machines a newer version of meson gets installed which causes the
options to be ignored.

The first attempt to simply symlink or copy `meson_options.txt` to
`meson.options` failed because git on Windows doesn't support symlinks
by default, and Meson complains if it finds two options files (#15127).

Fortunately not having an options file is only a problem for Core where
we have one option in the options file that defaults to true. The solution
implemented in this change is to always pass the option to Meson.

Test-bot: skip
2025-11-10 15:24:46 +01:00