Commit graph

2100 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
Eberhard Beilharz
ede6a3e4e1
chore(linux): revert whitespace-only changes
Addresses code review comment.

Build-bot: skip
Test-bot: skip
2026-05-11 17:53:48 +02:00
Eberhard Beilharz
1f02bc02f6
chore(linux): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
- make `verify_source.sh` a full builder script
- make options for `launchpad.sh` less confusing
- reference `--help` in `packaging.md`
- run new script as part of Ubuntu packaging workflow

Co-authored-by: Marc Durdin <marc@durdin.net>
2026-05-08 19:11:18 +02:00
Eberhard Beilharz
e03c37cacd
chore(linux): Merge branch 'maint/linux/sourcepkg' into chore/linux/checksource 2026-05-07 19:02:54 +02:00
Eberhard Beilharz
14e097ab95
maint(linux): fix source tarball used for packaging
The source tarball we upload to downloads.keyman.com contains all files
necessary to run `${KEYMAN_ROOT}/build.sh`, i.e. it contains all projects
that can be build on Linux. However, that is not the command used when
building Debian packages. There we limit the build to the `linux`
subfolder. Therefore we only need a subset of the files. Using the full
tarball causes some lintian errors.

This change creates and uploads a second tarball on release builds that
contains only the files needed for Debian packaging. The file is named
`keyman_$VERSION.pkg.tar.xz`.

Build-bot: skip
Test-bot: skip
2026-05-07 18:46:20 +02:00
Eberhard Beilharz
2c8f878f1d
chore(linux): add verification for source tarball and source package
This change adds a new GitHub action that verifies that Keyman can build
from the source package. Also check that source package used for Launchpad
and Debian/Ubuntu packaging doesn't produce lintian errors. Previously
lintian errors did go unnoticed because they didn't stop the build.

Also refactor `launchpad.sh` script to be a proper builder script, and add
some new parameters to allow skipping some steps in the script.

Build-bot: skip
Test-bot: skip
2026-05-06 19:03:12 +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
Eberhard Beilharz
673e044a4b
maint(linux): make emscripten setup on build agents idempotent
The automatic installation of emscripten on build agents did not work
if `EMSCRIPTEN_BASE` was set. This change improves things for a corrupt
installation by using `EMSCRIPTEN_BASE` if already set, and by skipping
clone if it already exists.

Build-bot: skip build:developer
Test-bot: skip
2026-05-05 10:03:33 +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
23e1e89152
Merge pull request #15762 from keymanapp/maint/gha-24
maint(common): Update GitHub actions for Node 24
2026-03-25 04:55:30 +07: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
Marc Durdin
2a24db1819 maint(mac): search for brew-installed rsync
Fixes: #15764
Test-bot: skip
Build-bot: skip
2026-03-17 09:36:30 +01: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
Marc Durdin
50a0333ca3 maint(ios): clean carthage before builds
This change is in response to inconsistent build behavior where we
observed better outcomes after manually cleaning the Carthage cache.
The cache folder had clearly also become very large over time so this
has the side benefit of clearing up space on the build agents. It is
unclear how much time this will cost in the build, but we don't suppose
it will make them dramatically slower.

Note: the same change has been applied in TC for stable-18.0 builds.

Test-bot: skip
2026-03-16 15:15:04 +01:00
unknown
08c98e7ecf in function Meta: consider AST correctly for setting redirect 2026-03-11 09:50:55 +01:00
Marc Durdin
160ed7b08b maint(resources): use x86_64 emscripten on arm/windows builds
Fixes: #15388
Test-bot: skip
2026-03-10 13:16:49 +01:00
Marc Durdin
42bfe9d570 maint(linux): set git credential for linux help on the correct repo
Test-bot: skip
Build-bot: skip
2026-03-09 13:01:12 +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
Marc Durdin
7b13f0fcbc fix(windows): adjust symbol paths for publishing to symbol server
There were two issues arising from #15493 - first,
`$KEYMAN_SYMSTOREPATH` was set too late, after the build, and second,
symsrv renames `000admin` to `000Admin` but we need to keep it lowercase
for our deployment server, so rename it back just in time before
uploading.

As tidy-up, given that the folder name `000admin` is static and never
changes, removed the parameter and hard-coded it instead.

* export `$KEYMAN_SYMSTOREPATH` before build
* define `000admin` folder explicitly and deprecate --symbols-subdir parameter
* rename `000Admin` to `000admin` before upload

Fixes: #14837
Follows: #15493
Test-bot: skip
2026-01-29 10:18:37 +11:00
Marc Durdin
7dc7de78f4 fix(windows): export sym store path so symbols are published
Fixes: #14837
Test-bot: skip
2026-01-26 11:16:41 +11:00
Marc Durdin
5f6285fa87 fix(resources): block unsupported platforms from running certain scripts
If a builder script requires a specific platform, give a helpful
error message when the script is run on an unsupported platform.

Test-bot: skip
2026-01-22 12:41:26 +07:00
Darcy Wong
e98f4ea4ad chore(common): Update KEYMAN_VERSION_LANGTAGS in minimum versions 2026-01-20 08:26:21 +07:00
Darcy Wong
d976c641fe maint(common): Update langtags.json to v1.4 2026-01-16 16:58:36 +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
rc-swag
c3e8d648c7 chore: Merge branch 'master' into chore/merge-master-to-epic-win-arm 2025-12-18 15:45:55 +10: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
38c2d031bb maint(resources): roll back builder_launch for trigger-release-builds.sh
The trigger-release-builds.sh script is not a full builder script, and
does not setup all the necessary environment for using `builder_launch`.
This causes a script error:

```
[resources/teamcity/triggers] ## script '/resources/build/version/build.sh ' launched...
/c/BuildAgent/work/99b311828f4ee7c/keyman/resources/builder.inc.sh: line 517: _builder_build_deps: unbound variable
```

So, rolling this back to a direct call to the script, at least until we
update trigger-release-builds to be a full builder script.

Test-bot: skip
Build-bot: skip
2025-12-08 07:30:49 +01: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
f813442c40
Merge pull request #15276 from keymanapp/revert-14799-change/windows/include-map2pdb-for-relevant-projects
change(windows): Revert "change(windows): include map2pdb generation for relevant Delphi projects"
2025-12-05 07:10:52 +01:00
Marc Durdin
76baf1a6d6
Merge pull request #15258 from keymanapp/maint/common/15130-use-builder_launch-for-child-builds
maint(common): use `builder_launch` for child builds
2025-12-05 07:10:44 +01:00
Marc Durdin
c3a8fdec13
Merge pull request #15257 from keymanapp/maint/resources/verify-order-of-builder_int_deps
maint(resources): verify order of builder_describe_internal_dependency
2025-12-05 07:10: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