Commit graph

1784 commits

Author SHA1 Message Date
Marc Durdin
8059fc769c
Merge pull request #14279 from keymanapp/maint/common/14278-trigger-common-builds-for-tc-common-changes
maint(common): trigger common builds for resources/teamcity/common changes
2025-07-04 08:34:05 +07:00
Marc Durdin
06af8b29a1
Merge pull request #14274 from keymanapp/fix/common/trigger
fix(common): fix triggering builds if no builds to start
2025-07-04 06:35:56 +07:00
Marc Durdin
f7d4c15e60
Merge branch 'master' into maint/common/14278-trigger-common-builds-for-tc-common-changes 2025-07-04 06:34:57 +07:00
Marc Durdin
94efd2c639 maint(common): trigger common builds for resources/teamcity/common changes
Also removes old paths from triggers, and updates comments on matched
patterns.

Fixes: #14278
Test-bot: skip
2025-07-04 07:58:32 +10:00
Marc Durdin
ca14da0e79 maint(common): match OSTYPE correctly on macOS
Fixes: #14276
2025-07-04 07:39:11 +10:00
Marc Durdin
139bfb2b77
Merge pull request #14271 from keymanapp/fix/core/build
fix(core): fix failing `common-test-core.sh` script
2025-07-04 04:27:47 +07:00
Marc Durdin
410fcb36e7
Merge pull request #14265 from keymanapp/refactor/resources/shebang
refactor(resources): replace shebang for TC include files
2025-07-04 04:27:21 +07:00
Marc Durdin
975759ecf6
Merge pull request #14264 from keymanapp/maint/android/removeci
maint(android): remove `--ci` parameter from android builds
2025-07-04 04:27:08 +07:00
Marc Durdin
2a1a05c7f5
Merge pull request #14272 from keymanapp/fix/ios/release
maint(ios): remove extra `cd` command from ios release builds
2025-07-04 04:26:58 +07:00
Eberhard Beilharz
cbcbae473e
fix(common): fixes triggering builds if no builds to start
If the PR only contains files that we ignore, we previously failed to
finish the trigger build. This PR fixes the problem.

The problem can be observed in #14271 which only changed a file in
`resources/teamcity/common` which gets ignored in `find_platform_changes`.

Test-bot: skip
2025-07-03 21:07:45 +02:00
Eberhard Beilharz
3e40632674
fix(mac): fix release build
Skipping builds since the changed code only affects TC release builds.

Build-bot: skip
Test-bot: skip
2025-07-03 20:32:20 +02:00
Eberhard Beilharz
4c8450a0d6
fix(ios): fix ios release builds
We did already cd into that directory a few lines above.

Build-bot: skip
Test-bot: skip
2025-07-03 20:29:11 +02:00
Eberhard Beilharz
366bd1c855
fix(core): fix failing common-test-core.sh script
Also pass `win` for Windows which will build both x86 and x64.

Test-bot: skip
2025-07-03 20:21:17 +02:00
Eberhard Beilharz
5a1bf52727
refactor(resources): replace shebang for include files
Include files are not directly executable, so it doesn't make sense to
have the shebang line. However, shellcheck needs to know what shell we
use. Turns out there is a shellcheck line that we can add instead of
the shebang line.

Follow-up-of: #14253
Build-bot: skip
Test-bot: skip
2025-07-03 17:57:02 +02:00
Eberhard Beilharz
8d1ad1e6cf
Merge pull request #14239 from keymanapp/maint/mac/14190_tconfig 2025-07-03 17:48:50 +02:00
Eberhard Beilharz
2a69a43dc3
Merge pull request #14229 from keymanapp/maint/ios/14189_tconfig 2025-07-03 17:48:37 +02:00
Eberhard Beilharz
9c9d48b5be
Merge pull request #14258 from keymanapp/maint/linux/rsync 2025-07-03 17:48:23 +02:00
Eberhard Beilharz
fd49707153
Merge pull request #14222 from keymanapp/maint/android/14188_tcconfig 2025-07-03 17:48:06 +02:00
Eberhard Beilharz
ecd3f9a1fa
maint(android): remove --ci parameter from android builds
`--ci` is deprecated since the current code discovers automatically
when we're building on CI, so we don't have to pass that option when
calling the `android/build.sh` script.

Also remove the option itself since we're no longer using it.

Build-bot: build android
Test-bot: skip
2025-07-03 17:43:22 +02:00
Eberhard Beilharz
841fd3efa1
maint(android): fix previous commit 2025-07-03 17:13:17 +02:00
Eberhard Beilharz
1bb3f96702
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-03 13:32:45 +02:00
Eberhard Beilharz
e3ad0975a9
maint(android): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-03 13:26:29 +02:00
Eberhard Beilharz
436b4f3543
chore(windows): Merge branch 'master' into maint/windows/13399_tconfig 2025-07-03 13:04:09 +02:00
Eberhard Beilharz
684672f9c0
Merge pull request #14255 from keymanapp/maint/developer/fixrelease
Refactors the Powershell scripts that download and upload files and create .download_info files.

This change is based on #14236/#14254 which bypasses the path rewriting that msys does when calling Windows rsync.
2025-07-03 12:58:34 +02:00
Eberhard Beilharz
366bc304bf
Merge pull request #14254 from keymanapp/maint/web/rsync 2025-07-03 12:54:53 +02:00
Eberhard Beilharz
401edd9456
Merge pull request #14253 from keymanapp/refactor/common/downloads-script
- add shebang so that shellcheck knows what shell we use 
- fix line endings
2025-07-03 12:53:11 +02:00
Eberhard Beilharz
b92a642ec8
Merge pull request #14205 from keymanapp/main/common/14187_tcconfig 2025-07-03 12:45:31 +02:00
Eberhard Beilharz
d981e0a5c0
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-03 12:45:08 +02:00
Eberhard Beilharz
6c4b3b3d10
Update resources/teamcity/windows/keyman-windows-release.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-03 12:41:43 +02:00
Eberhard Beilharz
f38eaa1295
maint(developer): replace Powershell scripts
Refactors the Powershell scripts that download and upload files and
create .download_info files.

This change is based on #14236/#14254 which bypasses the path rewriting
that msys does when calling Windows rsync.

Fixes: #14226
Related: #14236
Build-bot: skip
Test-bot: skip
2025-07-02 19:14:08 +02:00
Eberhard Beilharz
02ca6222bd
maint(mac): add TC build scripts for macOS
Fixes: #14190
Part-of: #13399
Build-bot: release mac
Test-bot: skip
2025-07-02 19:11:45 +02:00
Eberhard Beilharz
9c6838096e
maint(ios): add TC build scripts for iOS
Fixes: #14189
Part-of: #13399
Build-bot: release ios
Test-bot: skip
2025-07-02 19:06:35 +02:00
Eberhard Beilharz
e82a873cff
maint(linux): use tc_rsync_upload and write_download_info functions
Also make `_tc_rsync` function cross-platform. A comparison might show
that we omit `--perms` when calling rsync with this change. However the
short form (`-p`) is already included, so we don't have to additional
add the long form `--perms`.
2025-07-02 19:05:04 +02:00
Eberhard Beilharz
fe2024a13f
maint(android): add TC build scripts for Keyman for Android
There is one difference compared to the old build configurations on TC:
previously we had a separate build step to build and test FV that would
run only if environment variables were set.

This change combines building and testing FV with building the engine
and the app. If the environment variables are set we pass an additional
parameter to the TC build script.

Fixes: #14188
Part-of: #13399
Build-bot: release android
Test-bot: skip
2025-07-02 18:45:51 +02:00
Eberhard Beilharz
8bb0be2f8f
maint(windows): replace Powershell scripts
Refactors the Powershell scripts that download and upload files and
create .download_info files.

This change is based on #14236/#14254 which bypasses the path rewriting
that msys does when calling Windows rsync. Part of this change was done
for developer in #14255.

Related: #14236, #14255
2025-07-02 18:43:08 +02:00
Eberhard Beilharz
52943600dc
maint(web): move rsync code to shared functions
Build-bot: skip
Test-bot: skip
2025-07-02 17:01:30 +02:00
Eberhard Beilharz
cd796fe770
chore(windows): Merge branch 'master' into maint/windows/13399_tconfig 2025-07-02 16:59:23 +02:00
Eberhard Beilharz
8ea81be621
maint(web): move rsync code to shared functions
Build-bot: skip
Test-bot: skip
2025-07-02 11:51:25 +02:00
Eberhard Beilharz
bde4db43ae
refactor(common): improve downloads include script
- add shebang so that shellcheck knows what shell we use
- fix line endings
2025-07-02 10:34:58 +02:00
Marc Durdin
755357ecdf chore(common): Merge branch 'master' into maint/common/14149-7z-sevenz-seven-z 2025-07-02 15:43:38 +10:00
Marc Durdin
d5c61df5bf
Merge pull request #14216 from keymanapp/feat/resources/14200-builder-ignore-unknown-for-script-integrations
feat(resources): support ignoring unknown options in builder
2025-07-02 12:39:10 +07:00
Marc Durdin
533bc73312
Merge pull request #14249 from keymanapp/maint/web/14225-simplify-rsync-call-and-download-info-build
maint(web): adjust rsync path
2025-07-02 05:20:27 +07:00
Marc Durdin
c5dc3e583d chore: remove unnecessary comment 2025-07-02 08:18:24 +10:00
Marc Durdin
3011a0816d maint(web): adjust rsync path 2025-07-02 08:12:35 +10:00
Marc Durdin
5473eb43d5
Merge pull request #14236 from keymanapp/maint/web/14225-simplify-rsync-call-and-download-info-build
maint(web): cleanup rsync call from bash for Windows agents and refactor
2025-07-01 06:04:45 +07:00
Marc Durdin
90b7c34df8 maint(web): cleanup rsync call from bash for Windows agents and refactor
Refactors the Powershell script which built the .download_info file for
web into the keyman-web-release.sh script, and then bypasses the path
rewriting that msys does when calling a Windows executable (rsync).

This was tricky because msys was mangling all the paths to Windows-style
but we specifically need to reference one remote Unix-style path in the
rsync call. As we wanted to move away from the Powershell script anyway,
it was cleaner to resolve this in one go by moving the whole script to
bash.

The new tc-download-info.inc.sh script is a minimally generalized
version of the download_info writing from keyman-linux-release.sh, and
once the dust settles, it would be good to DRY this out.

Note that this is still Windows-only, despite the rest of the build
being basically platform-agnostic. I wanted to get this stable before we
generalize, which should be fairly straightforward, as it's only the
rsync call which will be touched.

Tested locally with a drop-in Windows executable that just prints its
arguments, to verify that path mangling is not occurring where we don't
want it. The DEBUG lines in keyman-web-release.sh will be removed once
we are confident this is correct.

Fixes: #14225
2025-06-29 10:13:22 +10:00
Eberhard Beilharz
399baddf23
refactor(linux): rename linux agent specific functions
This change prefixes functions with `ba_` that are intended to be run on
a Linux build agent. That should make it easier to distinguish them from
functions that deal with building Keyman for Linux.

Test-bot: skip
2025-06-25 20:13:09 +02:00
Marc Durdin
d3a38b93d0
Merge branch 'master' into maint/common/14149-7z-sevenz-seven-z 2025-06-25 10:05:24 +07:00
Marc Durdin
41b89bb0d1 maint(resources): add pr-build-status test to resources/build.sh
Also tweak one output string for clarity.

Build-bot: skip
2025-06-25 05:51:00 +10:00
Marc Durdin
bb282303e4 maint(resources): minor cleanup
Build-bot: skip
2025-06-25 05:47:12 +10:00