Commit graph

851 commits

Author SHA1 Message Date
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
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
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
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
c573709ee6 maint(resources): add build timing report to builder
This is enabled automatically for CI builds, and can be enabled with
`--timing` parameter otherwise. Also, adds `builder_launch`,
documentation to come.

Test-bot: skip
2025-11-10 11:03:45 +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