Commit graph

2179 commits

Author SHA1 Message Date
Marc Durdin
8ba7c1d648
Merge pull request #16409 from keymanapp/chore/mac/make-coreutils-more-robust-plus-docs
chore(mac): put coreutils on path on mac and improve docs
2026-08-21 12:44:29 +07:00
Marc Durdin
24448ebec2 chore(mac): put coreutils on path on mac and improve docs
Ensure realpath and other coreutils tools we need are on the path when
called from build.sh. And tweak documentation around Emscripten.

Test-bot: skip
2026-08-20 11:39:36 +02:00
Marc Durdin
adaf2337c5
Merge pull request #12191 from keymanapp/epic/kmc-convert
epic: kmc-convert 😎
2026-08-20 16:14:11 +07:00
Marc Durdin
07f3473f9a
Merge pull request #16240 from keymanapp/dependabot/npm_and_yarn/resources/build/pr-build-status/js-yaml-4.3.0
chore(deps-dev): bump js-yaml from 4.1.1 to 4.3.0 in /resources/build/pr-build-status
2026-08-19 19:32:29 +07:00
Marc Durdin
0e0022353e chore(resources): add missing sinon dep 2026-08-19 12:25:11 +02:00
Marc Durdin
51368402c4
Merge branch 'master' into epic/kmc-convert
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-08-18 20:26:07 +07:00
SabineSIL
882ede0c54
feat(developer): kmc-convert: new conversion .keylayout->kmn 😎 (#12564)
kmc-convert provides tooling to convert between various common keyboard
description file formats. Each conversion will be implemented in its
single, separate module (and each module will done in its own PR)

This PR will address the conversion **keylayout → kmn**

Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-18 15:16:02 +02:00
Marc Durdin
89a136be12
docs(resources): add note on langtags.json staging
Build-bot: skip

Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-17 14:46:23 +02:00
Marc Durdin
c2c6a4ef31 chore(resources): update download scripts and data 2026-08-17 09:20:37 +02:00
Marc Durdin
a25b7241c5 chore(resources): update langtags to 2026-06-09 and add download script
Test-bot: skip
Build-bot: build:all
2026-08-17 09:20:34 +02:00
Keyman Server
07d2487dde
Merge branch 'epic/kmc-convert' into auto/A19S33-merge-master-into-kmc-convert 2026-07-20 07:26:33 +02:00
Marc Durdin
5c428972e1
Merge pull request #16234 from keymanapp/chore/android/16137-cleanup-android-artifacts-and-build-scripts
chore(android): cleanup Android build scripts and artifact filenames
2026-07-14 21:20:03 +10:00
dependabot[bot]
4a7bd0e6b3
chore(deps-dev): bump js-yaml in /resources/build/pr-build-status
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.3.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-14 07:30:15 +00:00
Marc Durdin
d295e0faf5
maint(resources): add comment for debug printing
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-07-13 16:47:48 +02:00
Marc Durdin
a1c8e63cc8 chore(android): cleanup Android build scripts and artifact filenames
* Specify clearer filenames for Android samples and test KeyboardHarness
* Cleanup android/*/build.sh to match current patterns
* Remove obsolete jcenter dependency
* Export BUILDER_CONFIGURATION in builder.inc.sh

Fixes: #16137
Fixes: #16181
Test-bot: skip
Build-bot: skip release:android
2026-07-13 16:36:29 +02:00
Marc Durdin
ab2bfc9047 maint(resources): add extra debug reporting for builder
Relates-to: #16137
Test-bot: skip
Build-bot: skip build:all release:android
2026-07-13 12:02:09 +02:00
Marc Durdin
528876b42f
Merge pull request #16135 from keymanapp/chore/developer/14838-consolidate-api-extractor
chore(developer): consolidate api-extractor usage in Developer
2026-07-09 18:50:27 +10:00
Keyman Server
52298758cb
Merge branch 'epic/kmc-convert' into auto/A19S32-merge-base-into-kmc-convert 2026-07-04 13:19:46 +02:00
Eberhard Beilharz
23764b7e56
chore(android): allow to build FV app in docker container
Building the FirstVoices app is triggered in the top-level `build.sh`
if the two environment variables are set. Previously we didn't pass
these variables to Docker, so the FV app was never built even when the
env variables were set. This change passes the two variables to the
container, thus allowing to build the FW app in the docker container.

Build-bot: skip
Test-bot: skip
2026-06-30 11:51:03 +02:00
Marc Durdin
724249263c maint(resources): DRY out PRInformation interface
Test-bot: skip
Build-bot: skip
2026-06-29 15:56:31 +02:00
Marc Durdin
d86604902e chore(developer): consolidate api-extractor usage in Developer
* Centralize the api-extractor.json files, update usage
* Support @since
* Tidy up a few warnings relating to API documentation content

Fixes: #14838
Test-bot: skip
2026-06-24 14:45:05 +02:00
Keyman Server
bec3b293ac
Merge branch 'epic/kmc-convert' into auto/A19S30-merge-master-into-kmc-convert 2026-06-02 13:24:54 +02:00
Marc Durdin
6a98a39b8a
Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
Eberhard Beilharz
f339ceb722
maint(linux): fix Linux source tarball
Previously we tried to include all necessary files in the Linux source
tarball, so that a user would be able to successfully run the top-level
`build.sh` file. However, that causes problems when new dependencies
between sub-projects get introduced that would require adding additional
sub-projects to the tarball.

This change modifies the tarball to only include files that are necessary
to run the `linux/build.sh` file, i.e. necessary to build Keyman for
Linux. This is likely what users would expect when they download a source
tarball for Linux. If users want to build other parts of Keyman that are
buildable on Linux they can download the source tarball that the GitHub
releases page provides, or clone the repo.

In order to be able to still run the top-level `build.sh` script, this
change replaces the top-level `build.sh` with a script that simply
forwards the arguments to `linux/build.sh`.

This change also reverts the recent introduction of a *.pkg.tar.xz file
that contained all files necessary to build a Debian/Ubuntu package. There
wouldn't be a difference anymore between the two .tar.xz files.

Fixes: #16004
Fixes: #16005
Build-bot: skip build:linux
Test-bot: skip
2026-05-26 16:14:57 +02:00
Keyman Server
61240c293a
Merge branch 'epic/kmc-convert' into auto/A19S29-merge-master-into-kmc-convert 2026-05-22 07:22:45 +02:00
Marc Durdin
43756e5e78
Merge branch 'master' into chore/ios/additional-logging-for-xcodebuild 2026-05-20 13:32:37 +10:00
Eberhard Beilharz
be63a51b66
fix(linux): install emscripten prior to verifying source tarball
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
2026-05-19 19:53:25 +02:00
Eberhard Beilharz
0306a4b6e6
fix(linux): fix locating emscripten
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
2026-05-19 19:25:17 +02:00
Marc Durdin
c07b40947b chore(ios): add extra logging to xcodebuild
Attempt to get more logs that help us to trace issues in build script
phases.

Test-bot: skip
2026-05-18 16:45:08 +02:00
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
Keyman Server
7fda1c36ea
Merge branch 'epic/kmc-convert' into auto/A19S28-merge-master-into-kmc-convert 2026-05-11 14:55:57 +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
Marc Durdin
8311c65077
Merge branch 'epic/web-core' into auto/A19S25-merge-master-into-web-core 2026-03-27 16:30:55 +11:00
Keyman Server
073b1d49fa
Merge branch 'epic/kmc-convert' into auto/A19S25-merge-master-into-kmc-convert 2026-03-27 06:20:55 +01: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
Marc Durdin
70c54b0b40 chore: Merge branch 'epic/web-core' into auto/A19S24-merge-master-into-web-core
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-03-16 04:49:38 +01:00