Commit graph

183 commits

Author SHA1 Message Date
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
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
c524db41b9 maint(common): use builder_launch for child builds
Fixes: #15130
Test-bot: skip
2025-12-02 06:17:31 +01:00
Marc Durdin
9335a82530 maint(core): verify that keyman_core_ldml.h is in sync
Fixes: #15254
Test-bot: skip
Build-bot: skip build:linux,mac,windows
2025-12-01 17:11:57 +01:00
Marc Durdin
ba411774f6 maint(resources): move NPM package publishing to GitHub Actions
Due to recent changes in NPM package publishing security requirements,
we have to move from TeamCity build to a GitHub Action to publish our
NPM packages, so we can take advantage of trusted publishing. This
change also consolidates and centralizes the npm publishing into
resources/build/ci/npm-publish.sh, which removes a lot of boilerplate
from each of the build.sh scripts, and ensures consistency.

Packages will be `npm pack`ed on PR and test builds, and published in
release builds.

Ref: https://docs.npmjs.com/trusted-publishers
Ref: https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/
Fixes: #14963
Test-bot: skip
Build-bot: release:developer
2025-10-27 16:31:55 +01:00
Marc Durdin
f8c63ed65d
Merge pull request #14893 from keymanapp/maint/trigger-more-logging
maint(resources): fix watch bug for common files, and add more logging for triggering builds
2025-10-10 05:03:31 +02:00
Marc Durdin
69922d0ba3 maint(resources): further logging and fix indirection bug with watch 2025-10-06 16:55:02 +02:00
Eberhard Beilharz
65f2e354eb
maint(linux): suppress output of stopping processes after test run
This change suppresses the output of ending the processes started for
the test run. The output doesn't help much but clutters the overall
output and shows up as warnings on TC.
2025-10-06 16:13:44 +02:00
Marc Durdin
ebc137ab11 maint(resources): more logging for triggered builds
Add a list of all files modified in the PR; removes 'web' from windows
build target.

Test-bot: skip
2025-10-06 15:44:38 +02:00
Eberhard Beilharz
f628a869ea
maint(resources): fix broken test build trigger for master branch
Test-bot: skip
2025-09-17 11:24:27 +02:00
Marc Durdin
377b1056ec maint(resources): rename KEYMAN_VERSION_FOR_PR_FILENAME
Address review comment from #14703.

Test-bot: skip
Build-bot: skip
Relates-to: #14703
Relates-to: #10521
2025-09-10 11:17:41 +02:00
Marc Durdin
8a2adf5161
Merge pull request #14704 from keymanapp/maint/ios/10521-use-versioned-filenames-for-pr-artifacts
maint(ios): use versioned filenames for PR artifacts
2025-09-10 11:15:14 +02:00
Markus Greiner
1cf644a0b8
Merge pull request #14674 from keymanapp/maint/common/13954-create-gha-for-docker-images
maint(resources): adding GitHub actions workflow for Docker builds
2025-09-10 10:01:36 +02:00
Markus Greiner
f8f6626f55 main(resources): #13954 adding GitHub actions workflow for Docker builds
Test-bot: skip
Build-bot: skip
2025-09-08 15:26:44 +02:00
Marc Durdin
18ebb0baf3 maint(ios): use versioned filename for testflight upload
Build-bot: skip build:ios
2025-09-08 13:29:03 +02:00
Eberhard Beilharz
612cd01743
maint(linux): allow to skip API check
This change adds an option to skip the API checks during a build.
This can be done by adding the trailer `Keyman-Api-Check: skip`
to the PR description.

Fixes: #10454
Test-bot: skip
Keyman-Api-Check: skip
2025-09-05 19:04:23 +02:00
Eberhard Beilharz
a9597b58da
refactor(resources): remove shellcheck warnings 2025-09-05 19:02:16 +02:00
Eberhard Beilharz
5c9e4f2c08
maint(linux): remove obsolete Makefile
All commands from `linux/Makefile` are now available elsewhere and not
used anymore. The one exception was `make tmpsources` - this change
moves the code to the TC build script.

Test-bot: skip
2025-09-05 10:40:16 +02:00
Eberhard Beilharz
e615139348
Merge pull request #14669 from keymanapp/chore/windows/desktop 2025-09-03 11:53:46 +02:00
Eberhard Beilharz
91eab26389
maint(linux): skip tarball creation for Build-bot: build buildLevel
Fixes: #14288
Test-bot: skip
2025-09-02 18:06:32 +02:00
Eberhard Beilharz
f166f11d14
docs(common): update docs Keyman Desktop → Keyman for Windows
Also change path to engine help pages. This requires a corresponding
change in help.keyman.com.

Test-bot: skip
2025-09-02 14:29:53 +02:00
Eberhard Beilharz
3dbb7e56c7
Merge pull request #14572 from keymanapp/refactor/linux/launchpad 2025-08-28 19:14:52 +02:00
Marc Durdin
b2e731e2b5 feat: support pagination in build bot PR commit reading
Todo: cherry-pick this to master
Build-bot: skip build:developer
2025-08-28 15:23:17 +02:00
Marc Durdin
4d9ee2ee70 chore(resources): Merge branch 'master' into maint/resources/14483-move-build-trigger-scripts 2025-08-28 04:53:10 +02:00
Marc Durdin
7390cc66aa maint(resources): move build trigger scripts into resources/teamcity
This also removes the need to have a test for `-b` parameter in
trigger-test-builds.sh, because the TC scripts calling this can already
factor that in.

Testing script trigger so only do builds of common to verify

Fixes: #14483
Test-bot: skip
Build-bot: skip:all build:common
2025-08-27 07:28:24 +02:00
Eberhard Beilharz
c725dcd637
refactor(linux): remove unnecessary cd and subshell
It's not necessary to switch to the help.keyman.com directory before
calling the `help-keyman-com.sh` script, so this change removes that
and also the surrounding sub-shell.

Build-bot: skip
Test-bot: skip
2025-08-20 17:55:27 +02:00
Eberhard Beilharz
3c4264387c
refactor(linux): allow to run launchpad.sh from any directory
Previously the assumption was that `launchpad.sh` would be run from the
`linux` directory. This change sets the directory at the beginning of
the script, allowing it to be run from any directory. Also specify full
path to `launchpad.sh` in the TC build script.

Build-bot: skip
Test-bot: skip
2025-08-20 17:53:57 +02:00
Eberhard Beilharz
26b8495234
maint(linux): add missing --help.keyman.com option
This allows to specify the path to help.keyman.com in the TC build
config rather than an environment variable.

Build-bot: skip
Test-bot: skip
2025-08-20 16:44:58 +02:00
Marc Durdin
2b0db1eb51
Merge pull request #14490 from keymanapp/maint/android/14284-publish-sentry-symbols-on-release-buildlevel
maint(android): publish symbols to Sentry on release buildLevel 🦌
2025-08-20 20:20:25 +07:00
Marc Durdin
81c807c257 chore(common): Merge branch 'master' into maint/common/14453-move-ci-scripts 2025-08-19 10:46:11 +02:00
Marc Durdin
a81138c62b
Merge pull request #14449 from keymanapp/maint/common/14065-consolidate-builder-scripts
maint(common): consolidate builder scripts 🐸
2025-08-12 10:41:09 +07:00
Marc Durdin
f95b26ac1f
Merge pull request #14446 from keymanapp/maint/common/14275-rename-and-cleanup-shellHelperFunctions.sh
maint(common): rename shellHelperFunctions.sh to utils.inc.sh 🐸
2025-08-12 10:40:59 +07:00
Marc Durdin
1bb111edea maint(android): publish symbols to Sentry on release buildLevel
Refactor the publish action for Android to ensure that symbols are
published to Sentry for any 'release' buildLevel -- test releases and
alpha/beta/stable releases.

Splits the publish action into `publish-symbols` and
`publish-play-store` so that they can be run separately as needed, as
symbols can be published for test builds, but play store is only touched
for actual releases.

Note: examining the build logs and Sentry server state, it looks like
the publish to Sentry has not been happening for quite a while, so this
commit refactors the Sentry publishing code and establishes the
fv-keyboards publish target also.

Fixes: #14284
Build-bot: release
Test-bot: skip
2025-08-11 05:10:28 +02:00
Marc Durdin
75f0d657bb maint(ios): add todo on --pr-number
Build-bot: skip
2025-08-10 05:03:01 +02:00
Marc Durdin
d413922465 chore(ios): Merge branch 'maint/ios/14286-skip-publishing-on-build-buildlevel' 2025-08-09 04:50:13 +02:00
Marc Durdin
eba4977cf9 maint(ios): remove unnecessary PR number check
The check for PR number vs base branch is no longer necessary, as this
is controlled by buildLevel instead. Removing it.

Note that the `--pr-number` parameter is no longer required in
keyman-ios-test.sh. See comment inline.
2025-08-09 04:49:13 +02:00
Marc Durdin
d678215371
Merge branch 'maint/resources/14419-build-sh-style-build-bot' into maint/ios/14286-skip-publishing-on-build-buildlevel 2025-08-07 11:44:22 +07:00
Marc Durdin
bfd9fe85bd maint(ios): skip unnecessary network steps when buildLevel is build
Skips codesigning and upload to TestFlight in this case.

Fixes: #14286
2025-08-06 11:07:16 +08:00
Marc Durdin
358b6665c2 maint(common): move help-keyman-com.sh to ci/
Relates-to: #14453
2025-08-05 11:59:15 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Eberhard Beilharz
6542953d1c
maint(windows): fix calls of renamed functions
A recent change (#14324) consolidated (and thus renamed) some functions
that were in several places. A PR that got created earlier but merged
later (#14267) added new functionality that still used the old function
names. This lead to release build failures on Windows and Developer.

This change fixes the names of the called functions.

Fixes: #14412
Follow-up-of: #14324
Test-bot: skip
2025-07-26 11:16:39 +02:00
Eberhard Beilharz
e493ba238c
chore(linux): fix merge 2025-07-24 14:59:15 +02:00
Eberhard Beilharz
5b8753e806
chore(resources): Merge branch 'master' into maint/resources/14201_prefixtc 2025-07-24 14:54:08 +02:00
Eberhard Beilharz
c228635ef4
chore(android): Merge branch 'master' into maint/android/14350_consolidatezip 2025-07-23 16:19:37 +02:00
Eberhard Beilharz
edf9b4765f
maint(android): rely on RELEASE_OEM* to be set on TC
This partially reverts the previous commit in that it doesn't set the
`RELEASE_OEM` and `RELEASE_OEM_FIRSTVOICES` env variables if called with
`--fv`. Instead we rely on these variables being set in the TC config.
See also #14388 for a better solution.
2025-07-22 17:06:00 +02:00
Darcy Wong
c6ecb256ba
Merge pull request #14377 from keymanapp/fix/android/tc-missing-zip.inc
fix(android): use correct path to zip.inc.sh for CI
2025-07-21 19:30:24 +07:00
Eberhard Beilharz
51ca604b47
chore(common): Merge remote-tracking branch 'origin/master' into maint/common/14109_isOsFuncs 2025-07-21 09:20:12 +02:00
Darcy Wong
912d7e951c fix(android): use correct path to zip.inc.sh for CI 2025-07-21 09:42:37 +07:00