Commit graph

1941 commits

Author SHA1 Message Date
Eberhard Beilharz
b4c9df5d01
Merge pull request #14643 from keymanapp/maint/resources/builder-repo-root 2025-08-29 09:30:07 +02:00
Marc Durdin
305813df0c maint(resources): ensure REPO_ROOT is fully resolved
Turns out that in some cases, REPO_ROOT had relative ../ path
components, which is not what we want. Now uses readlink to resolve
path completely.

Test-bot: skip
Build-bot: skip
2025-08-29 07:39:12 +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
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
Eberhard Beilharz
609edbb19a
Merge branch 'master' into refactor/common/shellcheck 2025-08-25 12:12:02 +02:00
Marc Durdin
0d71006269 maint(resources): automatically cherry-pick history updates to master
See #14588 for example of working PR.

Build-bot: skip
Test-bot: skip
2025-08-25 05:00:30 +02:00
Eberhard Beilharz
4c57967e79
refactor(common): fix shellcheck warnings
Test-bot: skip
2025-08-22 17:52:09 +02:00
Markus Greiner
68b5c3463b
Merge pull request #14568 from keymanapp/maint/common/move-node-related-functions-out-of-utils.inc.sh-missing-parts
maint(common): rename and move node-related script functions into node.inc.sh
2025-08-21 11:00:46 +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
8ef8871eca
Merge pull request #14562 from keymanapp/maint/mac/14478-mac-inc-prefix
maint(mac): use mac_ prefix for functions in mac.inc.sh
2025-08-20 19:24:13 +07:00
Eberhard Beilharz
578b4a9f4e
Merge pull request #14154 from keymanapp/maint/common/14153_docker
By default Git Bash converts paths starting with `/`, so running the docker image fails with errors or files mentioning `\Program Files\Git\` (e.g. https://github.com/keymanapp/keyman/pull/14058#issuecomment-2951820833). This change adds a wrapper function that prevents the conversion and thus uses the paths in the correct form when calling docker.

Since the docker builds run on Linux they expect LF line endings. If the scripts are checked out with CRLF line endings, they look for things like `bash^M`. While there are workarounds to some degree, I didn't found a solution that would fully work with our scripts. So in the end this PR now always checks out scripts with LF line endings, even on Windows.

If you test this you'll have to re-checkout the source tree so that you end up with LF line endings.

Fixes: #14153
2025-08-20 14:16:14 +02:00
Markus Greiner
acaeb6aa02 maint(common): rename and move node-related script functions into node.inc.sh
Consolidates the node-related script functions into node.inc.sh, as part
        of cleaning up the build scripts and making them easier to maintain into
        the future. In the earlier commite some changes were missing.

        Follows: #14540
        Fixes: #14447

        Build-bot: skip
        Test-bot: skip
2025-08-20 10:44:56 +02:00
Eberhard Beilharz
c8cc5518df
Update resources/docker-images/README.md
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-08-20 08:46:02 +02:00
Marc Durdin
0d27ac91f7 maint(mac): use mac_ prefix for functions in mac.inc.sh
* Also renames resources/environment.sh to resources/build/mac/xcode-environment.inc.sh.
* Adds a few more exclusions to linux/scripts/dist.sh

Fixes: #14478
Test-bot: skip
Build-bot: build
2025-08-20 05:40:32 +02:00
Marc Durdin
290722bc5f maint(resources): handle unset build platform in trigger-build-bot
When #14551 and #14552 merged, it resulted in a bug which was exposed by
the unit tests (yay!).

Follows: #14551
Follows: #14552
Build-bot: skip:all build:common_windows,common_mac,common_linux
Test-bot: skip
2025-08-19 16:56:09 +02:00
Marc Durdin
a5b38d0713
Merge pull request #14552 from keymanapp/maint/resources/14506-dont-fallback-to-build-on-unsupported-targets-in-child-builds
maint(resources): don't fall back to 'build' action
2025-08-19 21:46:47 +07:00
Marc Durdin
209831f9cd chore(resources): Merge branch 'master' into maint/resources/14548-respect-build-bot-skip 2025-08-19 16:43:43 +02:00
Marc Durdin
51d4fb11e6 maint(resources): remove old trigger-build-bot.inc.sh, add _ to new
Fixes: #14506
2025-08-19 12:56:28 +02:00
Marc Durdin
4ea62a6455 maint(resources): also allow _ in build bot commands 2025-08-19 12:50:32 +02:00
Marc Durdin
6fc429a77e chore(resources): Merge branch 'maint/resources/14506-dont-fallback-to-build-on-unsupported-targets-in-child-builds' 2025-08-19 12:48:01 +02:00
Marc Durdin
990df1fb1f maint(resources): allow comma in build bot commands 2025-08-19 12:44:14 +02:00
Marc Durdin
bb1f2006f1
Merge branch 'master' into maint/resources/14506-dont-fallback-to-build-on-unsupported-targets-in-child-builds 2025-08-19 17:39:29 +07:00
Marc Durdin
50a03b502a maint(resources): don't fall back to 'build' action
When an unsupported action is provided to a child build, then don't fall
back to the default action 'build', because generally that is not what
we want -- we want a no-op

Fixes: #14506
Build-bot: skip:all build:common_linux,common_mac,common_windows
Test-bot: skip
2025-08-19 12:32:46 +02:00
Marc Durdin
47a24a8481 maint(resources): match platforms on whole-word only
Fixes: #14548
2025-08-19 11:29:08 +02:00
Marc Durdin
059e77c993 maint(resources): further tweaks on reading build bot commands
Fixes: #14548
2025-08-19 11:18:03 +02:00
Marc Durdin
726baa75b1 maint(resources): improve logging for build bot commands
Fixes: #14548
2025-08-19 11:11:51 +02:00
Marc Durdin
1c23752bd5 maint(resources): handle build-bot skip correctly
Fixes: #14548
Build-bot: skip
Test-bot: skip
2025-08-19 11:02:11 +02:00
Marc Durdin
81c807c257 chore(common): Merge branch 'master' into maint/common/14453-move-ci-scripts 2025-08-19 10:46:11 +02:00
Eberhard Beilharz
e98f2bb53c
maint(common): add warning about not mixing build platforms
Developers have to be consistent if they build on Windows/git-bash or
in WSL/Docker. Mixing builds without cleaning the repo first will fail.
See https://github.com/keymanapp/keyman/pull/14154#issuecomment-3182076088.

Build-bot: skip
Test-bot: skip
2025-08-18 17:51:00 +02:00
Eberhard Beilharz
72d8b705ff
maint(common): on Windows build as root inside docker container
This fixes a permission problem when we run docker from git bash.
On Windows we want to build as _root_ inside of the docker container.
This gives the necessary permissions due to the way the Windows user
is mapped to git bash/mingw and the docker container. On Linux
however we want to build as _build_ user inside the container so that
files we create are owned by the host user.

See https://github.com/keymanapp/keyman/pull/14154#issuecomment-2970577312
for further explanation.
2025-08-18 17:50:29 +02:00
Eberhard Beilharz
57a9583093
maint(common): disable path conversions on Windows
By default Git Bash converts paths starting with `/`, so running the
docker image fails with errors or files mentioning `\Program Files\Git\`.
This change adds a wrapper function that prevents the conversion
and thus uses the paths in the correct form when calling docker.
2025-08-18 17:50:28 +02:00
Markus Greiner
72214187c5 maint(common): rename and move node-related script functions into node.inc.sh
Consolidates the node-related script functions into node.inc.sh, as part
    of cleaning up the build scripts and making them easier to maintain into
    the future. In the earlier commite some changes were missing.

    Fixes: #14447
2025-08-18 11:42:54 +02:00
Marc Durdin
223332cb53 maint(resources): add space to test-bot command
Follows: #14526
Test-bot: skip
Build-bot: skip
2025-08-14 10:53:53 +02:00
Marc Durdin
47bfdd341f
Merge pull request #14504 from keymanapp/maint/resources/14502-auto-merge-approve-prep
maint(resources): add build-bot commands to increment-version auto PRs
2025-08-14 09:29:26 +07:00
Marc Durdin
bdbd748d82
Merge pull request #14458 from keymanapp/maint/common/mac-scripts
maint(common): reorganize mac/ios build script includes 🐸
2025-08-12 10:41:35 +07:00
Marc Durdin
3c5bcf6c10
Merge pull request #14452 from keymanapp/maint/common/14448-typescript.inc.sh
maint(common): move typescript script functions into typescript.inc.sh 🐸
2025-08-12 10:41:26 +07:00
Marc Durdin
942b06afdd
Merge pull request #14451 from keymanapp/maint/common/14447-node.inc.sh
maint(common): rename and move node-related script functions into node.inc.sh 🐸
2025-08-12 10:41:18 +07:00