Commit graph

55 commits

Author SHA1 Message Date
Marc Durdin
7b13f0fcbc fix(windows): adjust symbol paths for publishing to symbol server
There were two issues arising from #15493 - first,
`$KEYMAN_SYMSTOREPATH` was set too late, after the build, and second,
symsrv renames `000admin` to `000Admin` but we need to keep it lowercase
for our deployment server, so rename it back just in time before
uploading.

As tidy-up, given that the folder name `000admin` is static and never
changes, removed the parameter and hard-coded it instead.

* export `$KEYMAN_SYMSTOREPATH` before build
* define `000admin` folder explicitly and deprecate --symbols-subdir parameter
* rename `000Admin` to `000admin` before upload

Fixes: #14837
Follows: #15493
Test-bot: skip
2026-01-29 10:18:37 +11:00
Eberhard Beilharz
65f2e354eb
maint(linux): suppress output of stopping processes after test run
This change suppresses the output of ending the processes started for
the test run. The output doesn't help much but clutters the overall
output and shows up as warnings on TC.
2025-10-06 16:13:44 +02:00
Marc Durdin
358b6665c2 maint(common): move help-keyman-com.sh to ci/
Relates-to: #14453
2025-08-05 11:59:15 +10:00
Eberhard Beilharz
6542953d1c
maint(windows): fix calls of renamed functions
A recent change (#14324) consolidated (and thus renamed) some functions
that were in several places. A PR that got created earlier but merged
later (#14267) added new functionality that still used the old function
names. This lead to release build failures on Windows and Developer.

This change fixes the names of the called functions.

Fixes: #14412
Follow-up-of: #14324
Test-bot: skip
2025-07-26 11:16:39 +02:00
Eberhard Beilharz
e493ba238c
chore(linux): fix merge 2025-07-24 14:59:15 +02:00
Eberhard Beilharz
5b8753e806
chore(resources): Merge branch 'master' into maint/resources/14201_prefixtc 2025-07-24 14:54:08 +02:00
Eberhard Beilharz
51ca604b47
chore(common): Merge remote-tracking branch 'origin/master' into maint/common/14109_isOsFuncs 2025-07-21 09:20:12 +02:00
Eberhard Beilharz
3f8dc44b73
maint(mac): fix end of blocks
Test-bot: skip
2025-07-10 11:06:22 +02:00
Eberhard Beilharz
3b136fcec9
maint(common): consolidate functions to determine OS
- add `builder_is_windows`, `builder_is_macos` and `builder_is_linux`
  functions
- add/move `BUILDER_OS` env variable to `resources/builder.inc.sh`
- use the new functions and env variable

Fixes: #14109
Test-bot: skip
2025-07-09 18:33:09 +02:00
Eberhard Beilharz
a25202530e
maint(common): consolidate write_download_info functions
Fixes: #14259
Build-bot: skip
Test-bot: skip
2025-07-07 18:51:37 +02:00
Eberhard Beilharz
19ff2fd0a6
chore(resources): Merge branch 'master' into maint/resources/14201_prefixtc 2025-07-07 18:41:22 +02:00
Eberhard Beilharz
4d373c6cfe
maint(resources): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-07 18:41:16 +02:00
Marc Durdin
ca14da0e79 maint(common): match OSTYPE correctly on macOS
Fixes: #14276
2025-07-04 07:39:11 +10:00
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
436b4f3543
chore(windows): Merge branch 'master' into maint/windows/13399_tconfig 2025-07-03 13:04:09 +02:00
Eberhard Beilharz
366bc304bf
Merge pull request #14254 from keymanapp/maint/web/rsync 2025-07-03 12:54:53 +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
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
Eberhard Beilharz
c70c854b99
maint(windows): address code review comments 2025-06-16 18:05:55 +02:00
Eberhard Beilharz
a8dedae2d1
chore(windows): Merge branch 'master' into maint/windows/13399_tconfig 2025-06-16 17:49:15 +02:00
Eberhard Beilharz
bc485856c9
maint(windows): move TC configuration for Keyman Windows to scripts
Part-of: #13399
Test-bot: skip
2025-06-13 19:15:46 +02:00
Eberhard Beilharz
ce86bcd6a0
maint(developer): fix build on Windows agents
Windows agents have NVM installed in a different place, and always enabled
so we don't need to set variables for NVM.
2025-06-05 09:00:23 +02:00
Eberhard Beilharz
3a8a823c63
maint(developer): fix typos 2025-06-04 19:53:55 +02:00
Eberhard Beilharz
0d0f67ace8
chore(developer): Merge branch 'maint/web/13399_tc-config_dev' into maint/developer/13399_tc-config-dev-refactor 2025-06-04 18:27:07 +02:00
Eberhard Beilharz
19044708bb
chore(web): Merge branch 'maint/web/13399_tc-config_refactor' into maint/web/13399_tc-config_dev 2025-06-04 18:22:32 +02:00
Eberhard Beilharz
ab2f7c2d30
chore(web): Merge branch 'master' into maint/web/13399_tc-config_refactor 2025-06-04 18:20:39 +02:00
Eberhard Beilharz
35c92f984e
Merge pull request #14049 from keymanapp/maint/web/13399_tc-config 2025-06-04 18:07:37 +02:00
Eberhard Beilharz
86f3f77623
maint(web): update or add file header 2025-06-04 18:05:47 +02:00
Eberhard Beilharz
43c005c3f9
maint(developer): address code review comments
Don't try to install dependencies on macOS - build agents on Windows
and macOS are currently configured manually at this point. We don't
want to be attempting to install dependencies on macOS automatically -
homebrew is extremely fragile for CI as it always updates everything to
latest version (which of course breaks many things).

(from https://github.com/keymanapp/keyman/pull/14059#pullrequestreview-2873213671)
2025-06-03 18:40:23 +02:00
Eberhard Beilharz
1fa0372147
maint(web): address code review comments 2025-06-03 18:09:41 +02:00
Eberhard Beilharz
ef5d4306e8
maint(web): address code review comments from #14049
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-06-03 18:04:00 +02:00
Eberhard Beilharz
581e4e03ef chore(linux): add TC test runner
This adds a modified version of JetBrains' TeamCity test runner that
makes use of the `parent` property in the service messages and thus
allows to properly indent and fold the block that contains the test
output.

Test-bot: skip
2025-06-02 15:20:42 +02:00
Eberhard Beilharz
1ba77cc5b2
maint(linux): improve output of install action 2025-05-28 20:23:06 +02:00
Eberhard Beilharz
9939ef9e30
maint(developer): allow to build locally on Linux and macOS
This adds a `configure` build step that will install any missing
dependencies required to build on Linux and macoS.

macOS was added based on `resources/devbox/macos/macos.sh` but is
untested.

Test-bot: skip
2025-05-27 20:14:02 +02:00
Eberhard Beilharz
bf5909e51b
maint(web): improve TC build script for Keyman Web/Release 2025-05-27 20:04:58 +02:00