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
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
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
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
- 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
`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
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
- 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
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