Commit graph

56 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
Marc Durdin
7dc7de78f4 fix(windows): export sym store path so symbols are published
Fixes: #14837
Test-bot: skip
2026-01-26 11:16:41 +11:00
Marc Durdin
c524db41b9 maint(common): use builder_launch for child builds
Fixes: #15130
Test-bot: skip
2025-12-02 06:17:31 +01:00
Marc Durdin
ba411774f6 maint(resources): move NPM package publishing to GitHub Actions
Due to recent changes in NPM package publishing security requirements,
we have to move from TeamCity build to a GitHub Action to publish our
NPM packages, so we can take advantage of trusted publishing. This
change also consolidates and centralizes the npm publishing into
resources/build/ci/npm-publish.sh, which removes a lot of boilerplate
from each of the build.sh scripts, and ensures consistency.

Packages will be `npm pack`ed on PR and test builds, and published in
release builds.

Ref: https://docs.npmjs.com/trusted-publishers
Ref: https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/
Fixes: #14963
Test-bot: skip
Build-bot: release:developer
2025-10-27 16:31:55 +01:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10: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
3ec8ebc8f2
Merge pull request #14309 from keymanapp/maint/developer/14263_kmc-zip 2025-07-14 19:49:55 +02:00
Eberhard Beilharz
6f737f6070
Merge pull request #14323 from keymanapp/maint/windows/14202_symbols
Fixes: #14202
2025-07-09 18:35:36 +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
98159ae746
maint(windows): replace hardcoded symbols paths with parameters
Only touches release build files, so skipping PR test builds.

Fixes: #14202
Build-bot: skip
Test-bot: skip
2025-07-09 16:30:18 +02:00
Eberhard Beilharz
428b611eff
maint(developer): add missing include file 🩹
`keyman-developer-release.sh` calls the `write_download_info` function
but neglected to source the `shellHelperFunctions.sh` file which
defines that function. Thus this change fixes the release build.

Build-bot: skip
Test-bot: skip
2025-07-09 12:06:17 +02:00
Eberhard Beilharz
d1124504af
maint(common): remove include of deleted tc-download-info.inc.sh
This fixes the release builds.

Follow-up-of: #14270
Build-bot: skip
Test-bot: skip
2025-07-07 21:03:33 +02:00
Eberhard Beilharz
bc7499a3e1
maint(developer): consolidate creating KMC_ZIP file
Previously we created the KMC_ZIP file twice, and one of them was
outdated. This change moves creating the zip file to
`developer/src/inst/build.sh` so that the TC build script only does the
upload.

Fixes: #14263
Test-bot: skip
2025-07-07 19:14:40 +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
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
436b4f3543
chore(windows): Merge branch 'master' into maint/windows/13399_tconfig 2025-07-03 13:04:09 +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
cd796fe770
chore(windows): Merge branch 'master' into maint/windows/13399_tconfig 2025-07-02 16:59:23 +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
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
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
7aadd622df
maint(windows): fix location of kmcomp.zip 2025-06-24 15:09:55 +02:00
Eberhard Beilharz
27c6628230
maint(windows): address code review comments
Previous commit used wrong if-branch.
2025-06-17 16:15:43 +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
Marc Durdin
825f7d2df0
Merge branch 'maint/common/pr-build-bot' into maint/developer/support-buildLevel 2025-06-16 04:54:29 +07:00
Marc Durdin
11a558e926 maint(developer): support buildLevel
Relates-to: 14125
Build-bot: build
Test-bot: skip
2025-06-14 15:22:15 +10:00
Eberhard Beilharz
3542ed4a9d
Merge pull request #14194 from keymanapp/maint/web/fixrelease
However, we have to use double quotes inside of the string as well so that it gets treated as a command with parameters instead of a single command with spaces.

Follow-up-of: #14168
Part-of: #13399
Test-bot: skip
2025-06-13 22:17:00 +02:00
Eberhard Beilharz
860a1c1aff
maint(developer,web): use double quotes inside the string again
However, we have to use double quotes inside of the string as well so
that it gets treated as a command with parameters instead of a single
command with spaces.

Follow-up-of: #14168
Part-of: #13399
Test-bot: skip
2025-06-13 22:02:06 +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
7868bec04c
maint(developer): fix developer release build
Follow-up-of: #14184
Part-of: #13399
Test-bot: skip
2025-06-13 18:39:39 +02:00
Eberhard Beilharz
895883cae0
maint(developer,web): use braces for variables in powershell scripts
This changes variable references in the powershell scripts to use braces
(`${FOO}` instead of `$FOO`). This solves the problem where powershell
considers the colon in the rsync command as being part of a variable.
This should fix release builds for Web and Developer.

Also commented some unused variables.

Follow-up-of: #14167,#14168
Part-of: #13399
Test-bot: skip
2025-06-13 12:45:16 +02:00
Eberhard Beilharz
4bfb35c19f
maint(developer): use double quotes so that variable gets replaced
This fixes developer release builds. Previously we used single quotes
for specifying `--rsync-path`. This caused the parameter to contain
the variable name instead of the content.

Follow-up-of: #14059
Part-of: #13399
Test-bot: skip
2025-06-12 18:28:15 +02:00
Eberhard Beilharz
6e7071ada6
maint(developer): define (and use) variables in developer release build
We have to define and set the variables in a powershell script so that
they can be used. This was already done for the other powershell scripts,
but overlooked for this one. Also use variables instead of hard-coding
values.
2025-06-12 18:24:15 +02:00
Marc Durdin
e4ca0f7283 maint(common): consolidate 7Z_HOME, SEVENZ_HOME, SEVEN_Z_HOME env vars
Using SEVENZ_HOME.

Fixes: #14149
2025-06-11 18:19:26 +08:00
Eberhard Beilharz
fd314eb2f7
maint(developer): export environment variables
Export the newly introduced variables so that they are available in the
powershell script.

Fixes: #14150
Follow-up-of: #14052
Test-bot: skip
2025-06-10 19:43:47 +02:00
Eberhard Beilharz
8679b6db1d
maint(developer): change to correct directory for powershell scripts 2025-06-05 09:42:39 +02:00
Eberhard Beilharz
e3ebc2e05f
maint(developer): fix build errors
The mainly sneaked in by merging changes from other branches.
2025-06-04 20:58:26 +02:00
Eberhard Beilharz
3e3c56f9e7
maint(developer): add arguments to keyman-developer-release.sh script
Instead of relying on set environment variables this now allows to pass
the required values as arguments.
2025-06-04 20:47:00 +02:00
Eberhard Beilharz
06cb2520e9
maint(developer): run publish action only on Windows
This addresses a code review comment. Instead of checking on each
sub action this now checks on the main publish action.
2025-06-04 20:39:26 +02:00
Eberhard Beilharz
f13270275f
maint(developer): run platform specific scripts only on that platform 2025-06-04 19:54:27 +02:00
Eberhard Beilharz
a85e14feef
maint(developer): add more file headers 2025-06-04 19:53:23 +02:00
Eberhard Beilharz
087c2eec9d
maint(developer): don't automatically install packages on macOS 2025-06-04 19:07:36 +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