spiegel-keyman/resources/teamcity
Eberhard Beilharz f339ceb722
maint(linux): fix Linux source tarball
Previously we tried to include all necessary files in the Linux source
tarball, so that a user would be able to successfully run the top-level
`build.sh` file. However, that causes problems when new dependencies
between sub-projects get introduced that would require adding additional
sub-projects to the tarball.

This change modifies the tarball to only include files that are necessary
to run the `linux/build.sh` file, i.e. necessary to build Keyman for
Linux. This is likely what users would expect when they download a source
tarball for Linux. If users want to build other parts of Keyman that are
buildable on Linux they can download the source tarball that the GitHub
releases page provides, or clone the repo.

In order to be able to still run the top-level `build.sh` script, this
change replaces the top-level `build.sh` with a script that simply
forwards the arguments to `linux/build.sh`.

This change also reverts the recent introduction of a *.pkg.tar.xz file
that contained all files necessary to build a Debian/Ubuntu package. There
wouldn't be a difference anymore between the two .tar.xz files.

Fixes: #16004
Fixes: #16005
Build-bot: skip build:linux
Test-bot: skip
2026-05-26 16:14:57 +02:00
..
android maint(common): use builder_launch for child builds 2025-12-02 06:17:31 +01:00
common maint(common): use builder_launch for child builds 2025-12-02 06:17:31 +01:00
developer fix(windows): adjust symbol paths for publishing to symbol server 2026-01-29 10:18:37 +11:00
includes maint(linux): make emscripten setup on build agents idempotent 2026-05-05 10:03:33 +02:00
ios maint(common): use builder_launch for child builds 2025-12-02 06:17:31 +01:00
linux maint(linux): fix Linux source tarball 2026-05-26 16:14:57 +02:00
macos maint(common): use builder_launch for child builds 2025-12-02 06:17:31 +01:00
triggers maint(resources): roll back builder_launch for trigger-release-builds.sh 2025-12-08 07:30:49 +01:00
web maint(common): use builder_launch for child builds 2025-12-02 06:17:31 +01:00
windows fix(windows): adjust symbol paths for publishing to symbol server 2026-01-29 10:18:37 +11:00
README.md 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

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