Also splits the build and publish steps so all packages are built before
first is published, as publishing stomps on package.json files, which
makes subsequent builds trickier.
This needs to be merged to master in order for the action steps to pass.
Build-bot: skip
Test-bot: skip
We don't have permissions to use `npm install --global npm` to get a
specific version, but this action is supported by GH so should be fine.
It remains to be seen if there will be other compatibility issues due to
being a later version of Node than what we are using in v19.
Build-bot: skip
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
By default we skip package builds if run on a non-Keyman repo. This makes it harder to test changes, so this PR allows to pass the parameter `force: true` when triggering the build.
By default we skip package builds if run on a non-Keyman repo. This
makes it harder to test changes, so this PR allows to pass the parameter
`force: true` when triggering the build.
By default the local image registry is not available from different jobs.
Uploading and downloading the images to transfer them between the jobs
seems to be an extra effort not being worth it.
Relates-To: #13594
Test-bot: skip
Build-bot: skip
This change adds an option to skip the API checks during a build.
This can be done by adding the trailer `Keyman-Api-Check: skip`
to the PR description.
Fixes: #10454
Test-bot: skip
Keyman-Api-Check: skip
This also removes the need to have a test for `-b` parameter in
trigger-test-builds.sh, because the TC scripts calling this can already
factor that in.
Testing script trigger so only do builds of common to verify
Fixes: #14483
Test-bot: skip
Build-bot: skip:all build:common
Note: this does not remove auto merge from the
auto-merge-keyman-server-pr.yml GHA at this time, because that would
require us to use graphql to mark PRs as auto-merge, and we are not
quite ready to do that. So we'll continue to use the automerge action
for now.
The scope for pull request events has been expanded on
auto-merge-keyman-server-pr.yml so that updates to build status trigger
the automerge as needed.
Fixes: #14502
Build-bot: skip
Test-bot: skip
deb-packaging.yml runs from master, so we need to continue to source
build-utils.sh until v19 release, so that we can build v18 branches.
Note that deb-packaging.yml will not successfully build on the #14449
branch until this change is merged to master.
Fixes: #14065