Skip to content

maint(common): use builder_launch for child builds#15258

Merged
mcdurdin merged 2 commits intomasterfrom
maint/common/15130-use-builder_launch-for-child-builds
Dec 5, 2025
Merged

maint(common): use builder_launch for child builds#15258
mcdurdin merged 2 commits intomasterfrom
maint/common/15130-use-builder_launch-for-child-builds

Conversation

@mcdurdin
Copy link
Copy Markdown
Member

@mcdurdin mcdurdin commented Dec 1, 2025

Notes:

  • web/ci.sh still calls test_kill_browserstack.sh and check-build-size.sh directly (not true builder scripts)
  • Various --debug and --release flags removed (along with --no-deps). This cleans up poor child script calls which should make builds more robust and consistent and potentially faster too.

Fixes: #15130
Test-bot: skip

@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot bot commented Dec 1, 2025

User Test Results

Test specification and instructions

User tests are not required

Test Artifacts

  • Web
    • KeymanWeb Test Home - build : all tests passed (no artifacts on BuildLevel "build")

@github-actions github-actions bot added the maint Maintenance work -- continuous integration, build scripts, infrastructure label Dec 1, 2025
@keymanapp-test-bot keymanapp-test-bot bot added this to the A19S17 milestone Dec 1, 2025
@mcdurdin mcdurdin marked this pull request as draft December 1, 2025 16:33
@mcdurdin mcdurdin linked an issue Dec 1, 2025 that may be closed by this pull request
Base automatically changed from maint/core/15254-verify-changes-to-ldml-consts to master December 2, 2025 04:28
@mcdurdin mcdurdin force-pushed the maint/common/15130-use-builder_launch-for-child-builds branch from 53f2dc0 to 50d12a5 Compare December 2, 2025 05:07
@mcdurdin mcdurdin force-pushed the maint/common/15130-use-builder_launch-for-child-builds branch from 50d12a5 to c524db4 Compare December 2, 2025 05:17
Comment on lines 26 to 36
function _build_sample1() {
builder_echo start "kmsample1" "Building KMSample1"
"${KEYMAN_ROOT}/ios/samples/KMSample1/build.sh" clean configure build --debug
builder_launch /ios/samples/KMSample1/build.sh clean configure build
builder_echo end "kmsample1" success "Finished building KMSample1"
}

function _build_sample2() {
builder_echo start "kmsample2" "Building KMSample2"
"${KEYMAN_ROOT}/ios/samples/KMSample2/build.sh" clean configure build --debug
builder_launch /ios/samples/KMSample2/build.sh clean configure build
builder_echo end "kmsample2" success "Finished building KMSample2"
}
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The --debug flag has been set in the calling script in TeamCity directly, because these are setup only for debug builds at this point, without a development team and codesigning

Long-term builder_launch may need to handle the default action in child
builds, but this is really an outlier and for now, fixing here.

This resolves a situation where the unit tests were not running for web
after the builder_launch update.

Fixes: #15130
Build-bot: skip build:web
Comment on lines -14 to +16
local ARGS="$2"

# REVIEW: is it deliberate that we `configure` all targets but only `build,test` `$TARGETS`?
"${KEYMAN_ROOT}/android/build.sh" configure build,test:"${TARGETS}" ${ARGS}
builder_launch /android/build.sh configure build,test:"${TARGETS}"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No ARGS are provided or needed after this update (was --debug)

Comment on lines -110 to +114
android_build_action "${TARGETS}" --release
android_build_action "${TARGETS}"
do_publish
else
builder_run_action clean android_clean_action
builder_run_action build android_build_action "${TARGETS}" --release
builder_run_action build android_build_action "${TARGETS}"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--release is default in TC builds

Comment on lines 31 to -32
function do_build() {
"${KEYMAN_ROOT}/android/build.sh" \
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--debug flag is no longer required, was for Firebase in the past

Comment on lines -42 to +47
android_build_action "${TARGETS}" --debug
android_publish_symbols "${TARGETS}" --debug
android_build_action "${TARGETS}"
android_publish_symbols "${TARGETS}"
else
builder_run_action clean android_clean_action
builder_run_action build android_build_action "${TARGETS}" --debug
builder_run_action publish android_publish_symbols "${TARGETS}" --debug
builder_run_action build android_build_action "${TARGETS}"
builder_run_action publish android_publish_symbols "${TARGETS}"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--debug flag is no longer required, was for firebase in the past

# Run tests
builder_run_child_actions test
builder_run_action test:_all ./test.sh
builder_run_action test:_all builder_launch /web/test.sh test
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

builder_launch currently only supports build as a default parameter

@mcdurdin mcdurdin marked this pull request as ready for review December 2, 2025 09:55
@mcdurdin mcdurdin requested review from ermshiperete and jahorton and removed request for ermshiperete December 2, 2025 09:55
# Embed tsysinfox64 into a resource; we have to do a special signcode for
# tsysinfox64.exe as we embed the executable into tsysinfo.exe
../tsysinfox64/build.sh publish --no-deps
builder_launch /windows/src/engine/tsysinfox64/build.sh publish
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is --no-deps still used?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not here, it's no longer required because builder_launch means that previously built deps would have already been tracked. So this is a bit of a win. Also, builder_launch does not permit the use of --no-deps as it's a reserved parameter for child script calls.

Copy link
Copy Markdown
Contributor

@darcywong00 darcywong00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mcdurdin mcdurdin merged commit 76baf1a into master Dec 5, 2025
8 checks passed
@mcdurdin mcdurdin deleted the maint/common/15130-use-builder_launch-for-child-builds branch December 5, 2025 06:10
@github-project-automation github-project-automation bot moved this from Todo to Done in Keyman Dec 5, 2025
@keyman-server
Copy link
Copy Markdown
Collaborator

Changes in this pull request will be available for download in Keyman version 19.0.171-alpha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

maint(common): use builder_launch for all child builds

4 participants