Commit graph

2072 commits

Author SHA1 Message Date
Eberhard Beilharz
69eede0a28
maint(resources): use tc_ prefix for all tc-*.inc.sh functions
- added `tc_` prefix to functions in `includes/tc-*.inc.sh`
- moved `includes/tc-actions.inc.sh` → `linux/linux-actions.inc.sh`
- didn't change `write_download_info`. That will be done as part of #14259.
- didn't change `is_*`. That will be done as part of #14109.
- removed unnecessary functions that only call another function.
- moved functions from `tc-windows.inc.sh` → `tc-helpers.inc.sh` because
  they are no longer Windows-specific (although currently only used for
  Windows).

Fixes: #14201
Test-bot: skip
2025-07-03 18:48:47 +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
Eberhard Beilharz
bc5e05fd84
refactor(developer): use shared upload_help function
Build-bot: build developer
Test-bot: skip
2025-06-24 18:48:33 +02:00
Eberhard Beilharz
aec28e5855
chore(windows): Merge branch 'master' into maint/windows/13399_tconfig 2025-06-24 18:07:58 +02:00
Eberhard Beilharz
d727991fff
maint(common): simplify scripts
This addresses code review comments.
2025-06-24 15:28:29 +02:00
Eberhard Beilharz
7aadd622df
maint(windows): fix location of kmcomp.zip 2025-06-24 15:09:55 +02:00
Marc Durdin
6ab6e2b20e fix(resources): use correct payload for status event 2025-06-24 16:54:56 +10:00
Marc Durdin
9de8d260cc maint(resources): support additional workflow events for pr-build-status
Also retrieves the correct SHA from each workflow event.

Build-bot: skip
Test-bot: skip
2025-06-24 16:49:19 +10:00
Marc Durdin
795f9f75ae maint(resources): build pr-build-status.yml from sources 2025-06-24 09:47:12 +10:00
Marc Durdin
dde272ac27
Merge branch 'master' into feat/resources/14200-builder-ignore-unknown-for-script-integrations 2025-06-24 06:10:12 +07:00
Marc Durdin
3be1bd942d
Merge pull request #14199 from keymanapp/maint/resources/14172-pr-build-status-2
maint(resources): add pr-build-status GitHub Action to summarize build status 🤖
2025-06-24 06:07:30 +07:00
Marc Durdin
61e1b4ca37
Merge pull request #14217 from keymanapp/maint/resources/allow-target-branch-names-in-rrtb
fix(resources): allow branch names in run-required-test-builds shortcut call
2025-06-24 06:07:16 +07:00
Marc Durdin
0f4a1cdfe7 fix(resources): allow branch names in run-required-test-builds shortcut call
This is a transitional patch while we wait for the Build-bot changes to
flow through all the open PRs. Fixes the broken master test build.
2025-06-24 09:03:28 +10:00
Marc Durdin
a6936a3a41
Merge pull request #14196 from keymanapp/maint/developer/support-buildLevel
maint(developer): support buildLevel 🤖
2025-06-24 05:53:13 +07:00