Commit graph

844 commits

Author SHA1 Message Date
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
Marc Durdin
29b02fb955 docs(windows): visual studio 2022
Build-bot: skip
2025-10-31 07:23:43 +01:00
Marc Durdin
3fc29928da maint(resources): include sourcemaps in npm publish
Build-bot: skip release:developer
Test-bot: skip
2025-10-29 17:12:52 +01:00
Marc Durdin
ba9500826d maint(resources): add npm pack/publish to pr-build-status bot 2025-10-29 10:29:14 +01:00
Marc Durdin
f9b25890b6 maint(resources): add meson and emscripten setup to npm-publish
Also splits the build and publish steps so all packages are built before
first is published, as publishing stomps on package.json files, which
makes subsequent builds trickier.

This needs to be merged to master in order for the action steps to pass.

Build-bot: skip
Test-bot: skip
2025-10-29 10:27:29 +01:00
Marc Durdin
3040c72174 maint(resources): skip nvm in npm-publish script
Test-bot: skip
Build-bot: skip
2025-10-28 15:28:24 +01:00
Marc Durdin
17cc7fd321 maint(resources): fix build call in npm-publish 2025-10-28 13:41:55 +01:00
Marc Durdin
fe7209cdeb maint(resources): verify keyman_root 2025-10-28 13:40:48 +01:00
Marc Durdin
c282e557c4 maint(resources): add build and test for npm packaging
Test-bot: skip
Build-bot: skip release:developer
2025-10-28 13:10:04 +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
Eberhard Beilharz
229bdf8270
maint(resources): nest unit tests under parent block
This adds a modified `mocha-teamcity-reporter` that allows to nest the
unit tests under the parent block.

Fixes: #14839
Test-bot: skip
2025-10-06 16:09:47 +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
b302da5094
refactor(web): address code review comments 2025-10-02 10:47:49 +02:00
Eberhard Beilharz
34c43b1e15
refactor(web): cleanup in test scripts
Also use common function for running web types tests.

Test-bot: skip
2025-09-30 17:40:15 +02:00
Marc Durdin
df194a7511
Merge pull request #14816 from keymanapp/maint/resources/find-7z-on-path-in-windows
maint(resources): lookup 7z on path on Windows if SEVENZ_HOME is not set
2025-09-25 15:41:48 +02:00
Marc Durdin
bf9e135072 maint(resources): use command instead of where to find 7z.exe
Using `7z.exe` instead of `7z` finds the correct command.
2025-09-25 08:56:06 +02:00
Marc Durdin
ec229c1a23
Merge pull request #14815 from keymanapp/maint/windows/sign-check-only-in-ci
maint(windows): check code signatures only in CI builds
2025-09-25 05:48:02 +02:00
Marc Durdin
4828df7c89 maint(resources): lookup 7z on path on Windows if SEVENZ_HOME is not set
Also cleans up a number of possible quoting issues and shellcheck
directives.

Note: we need to do release builds everywhere to verify that zip changes
are not going to break things.

Test-bot: skip
Build-bot: release
2025-09-23 10:44:58 +02:00
Marc Durdin
c06b5b8eea maint(windows): check code signatures only in CI builds
When building locally, code signatures will not have SIL in the name, so
will fail the build. So skip checking code signatures on local builds.

Build-bot: skip release:windows,developer
Test-bot: skip
2025-09-23 10:32:55 +02:00
Markus Greiner
bae371bb50 fix(common): some more tests running successfully in a container
setting KEYMAN_ROOT
ignoring test:linux until #13887 is fixed
removing docker "-t" option, because there is no terminal to attach
while running on the GitHub server

Test-bot: skip
Build-bot: skip
2025-09-18 11:24:53 +02:00
Marc Durdin
d852916d4d
Merge pull request #14734 from keymanapp/fix/resources/pr-build-status-cr-to-lf
fix(resources): match cr to lf change in pr-build-status.mjs
2025-09-12 09:48:07 +02:00
Darcy Wong
3a0e031be4
Merge pull request #14728 from keymanapp/chore/common/unicode-17
chore(common): Update to Unicode 17.0
2025-09-12 09:05:50 +07:00
Marc Durdin
293dbb83e9 fix(resources): match cr to lf change in pr-build-status.mjs
Follows: #14732
Build-bot: skip
Test-bot: skip
2025-09-11 14:59:51 +02:00
Marc Durdin
6d6cc36c8f fix(resources): add more logging for build-status 2025-09-11 13:25:45 +02:00
Marc Durdin
7e3925ebfc fix(resources): always pass summary through
Fixes: #14731
2025-09-11 13:18:43 +02:00
Marc Durdin
1433f15506 fix(resources): pr build status - find 'failure' state in status checks and log
Fixes: #14731
Build-bot: skip
Test-bot: skip
2025-09-11 12:59:16 +02:00
Marc Durdin
ebeacc83d0
Merge branch 'master' into chore/common/unicode-17 2025-09-11 11:53:03 +02:00
Marc Durdin
a49b0146ce fix(resources): ignore KEYMAN_VERSION_FOR_FILENAME in test
Follows: #14703
Test-bot: skip
Build-bot: skip build:common
2025-09-11 06:49:27 +02:00
Darcy Wong
8321294e1e chore(common): Update to Unicode 17.0 2025-09-11 11:28:47 +07:00
Marc Durdin
d9622ff4b1
chore(developer): whitespace in builder-basic.inc.sh
Build-bot: skip

Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-09-10 15:07:09 +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
50f86cfbf7
Merge pull request #14703 from keymanapp/maint/android/10521-use-versioned-filenames-for-pr-artifacts
maint(android): use versioned filenames for PR artifacts
2025-09-10 11:15:02 +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
535f7aa153 maint(resources): added trigger for Docker images build, pubish, test
moving example script to readme file
adding delete job for container images in ghcr

Part-of: #13594
Test-bot: skip
Build-bot: skip
2025-09-08 17:28:11 +02:00
Eberhard Beilharz
ab33d638f5
maint(linux): check that command is at beginning of line
Addresses code review comments.

Co-Authored-By: Marc Durdin <marc@durdin.net>
2025-09-08 16:52:56 +02:00
Marc Durdin
634fef64d4 maint(android): use versioned filenames for PR artifacts
Relates-to: #10521
Test-bot: skip
Build-bot: skip release:android,developer,windows
2025-09-08 12:31:11 +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
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
db3eef645e
Update resources/build/version/README.md
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-08-28 04:53:36 +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
f75aaf0efe chore(resources): Merge branch 'master' into maint/resources/14565-fix-build-bot-parse-and-add-logging 2025-08-28 04:45:53 +02:00
Marc Durdin
1bc8a33289 maint(resources): update comment and remove duplicate comma from regex 2025-08-28 04:38:20 +02:00
Eberhard Beilharz
64e6fcd467
Merge pull request #14580 from keymanapp/refactor/common/shellcheck 2025-08-27 18:27:54 +02:00
Eberhard Beilharz
1e7ba23668
refactor(common): fix build-bot trigger script
Also rename variables to make it clearer that `buildBotCommand` contains
multiple commands.
2025-08-27 17:32:05 +02:00
Marc Durdin
6c2ef33492 maint(resources): fix parse bug in build-bot and add extra logging
Fixes: #14565
Build-bot: skip build:common
Test-bot: skip
2025-08-27 14:12:51 +02:00
Marc Durdin
ec8a9235f3 maint(resources): use correct version for PR title for history cherry-pick
Build-bot: skip
Test-bot: skip
2025-08-27 13:12:13 +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
d16a46d5ad
feat(resources): add option to suppress output to bash testing framework
This change adds the `--quiet` option to the `run_tests` function of
the testing framework. This will redirect the regular output to a log
file (`/tmp/<testname>.log`) and only output the pass/failed result.
2025-08-25 17:35:27 +02:00