mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-10 02:45:32 +00:00
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 |
||
|---|---|---|
| .. | ||
| android | ||
| common | ||
| developer | ||
| includes | ||
| ios | ||
| linux | ||
| macos | ||
| triggers | ||
| web | ||
| windows | ||
| README.md | ||
Teamcity Build Configuration Scripts
This directory contains TeamCity (TC) build scripts. Each script corresponds to a build configuration on TC.
Running scripts locally
It's possible to run some of the build locally in a Docker container. Of course this won't work for the parts, like uploading files, that require keys or other secrets.
To run locally start a Docker container:
docker run -v $(pwd):/Develop -it ubuntu:24.04 /bin/bash
(for the Linux integration tests, you'll have to pass --privileged as well.)
Inside of the container, run
apt update && apt install -y sudo
export DOCKER_RUNNING=1
echo "ubuntu ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
su ubuntu
and then run the build, e.g.
cd /Develop
resources/teamcity/linux/keyman-linux-test.sh configure,build,test