Commit graph

37 commits

Author SHA1 Message Date
Eberhard Beilharz
9d2ab35531
maint(common): move TC build configs for Linux to scripts
This change adds scripts for the TeamCity build configurations for
Linux builds.

Part-of: #13399
Test-bot: skip
2025-05-12 17:42:25 +02:00
Eberhard Beilharz
47407a3164
maint(common): remove obsolete code from docker-images run.sh
PR #13861 missed the fact that docker-images' `run.sh` script also
contains code that got re-added during a faulty merge. This change cleans
this up.
2025-05-09 18:07:16 +02:00
Eberhard Beilharz
d59291c062
maint(common): remove obsolete code from docker-images build.sh
Looks like a merge undid some of the changes from #13537 so that we
ended up with duplicate code. This change cleans this up.
2025-05-08 09:22:26 +02:00
Marc Durdin
a52437c407 chore: Merge branch 'master' into chore/b18s4-merge-beta-to-master 2025-03-29 05:38:08 +07:00
Eberhard Beilharz
4609abaaaf
chore(linux): use bash by default when building containers 2025-03-18 18:37:58 +01:00
Eberhard Beilharz
d85cd135db
chore(linux): update comment 2025-03-18 18:34:26 +01:00
Eberhard Beilharz
e649222a1c
fix(linux): fix building in Docker with different Ubuntu/Debian version
Also some general improvements for building and running Docker container.
2025-03-18 17:25:10 +01:00
Eberhard Beilharz
da305bab57
chore(linux): deal with default values
When `_convert_parameters_to_build_args` sets the defaults, our previous
implementation to check for default values no longer works.
2025-03-18 16:18:55 +01:00
Eberhard Beilharz
18a600be6a
chore(linux): initialize variables with default values if not set
This changes `convert_parameters_to_build_args` to set the variable to
the default values unless set already. Then we don't have to deal with
unset variables and setting default values when we use the variables.
2025-03-18 16:18:47 +01:00
Eberhard Beilharz
1dde4c3f1f
chore(linux): allow to build and use Debian docker image 2025-03-18 16:16:59 +01:00
Eberhard Beilharz
a8adb33d9a
chore(linux): update URL for lcov package 2025-03-18 12:55:23 +01:00
Eberhard Beilharz
9252b9388b
fix(linux): remove --platform amd64 from docker build script
Passing this parameter causes docker image builds on mac to fail (#13295).
Since `amd64` is the default anyways (and we don't support other values),
we can simply remove that parameter.

Fixes: #13295
2025-02-21 12:54:45 +01:00
Eberhard Beilharz
2b9ba6c96b
chore(linux): deal with default values
When `_convert_parameters_to_build_args` sets the defaults, our previous
implementation to check for default values no longer works.
2025-02-20 09:58:39 +01:00
Eberhard Beilharz
7d5dce1f5f
chore(linux): initialize variables with default values if not set
This changes `convert_parameters_to_build_args` to set the variable to
the default values unless set already. Then we don't have to deal with
unset variables and setting default values when we use the variables.
2025-02-20 08:51:34 +01:00
Eberhard Beilharz
d9992ec087
chore(linux): allow to build and use Debian docker image 2025-02-19 12:04:25 +01:00
Eberhard Beilharz
acf74f02ba
fix(linux): allow to specify ubuntu version 2025-02-14 23:09:40 +01:00
Eberhard Beilharz
448bf9171a
fix(linux): update location of lcov.deb for Jammy
This changes the download URL for the lcov package to the
official Ubuntu archive, after it was no longer available at
kernel.org.
2025-02-14 22:50:51 +01:00
Eberhard Beilharz
e6adf379f0
chore(linux): docker-build: fix Linux docker image
This change fixes two issues in the Linux docker image that showed up
when running tests:
- some directories had wrong permissions
- we have to build keyman-system-service in a docker-specific directory
  as well so that the location of the service executable can be found
  when running the tests in docker
2025-01-23 20:48:53 +01:00
Eberhard Beilharz
606e6af365
chore(linux): update package index before installing packages
We need to run `apt-get update` first before trying to install packages.
We did update the package index when we built the base image, but that
might have been some time ago so that the index is now outdated.
2025-01-22 15:47:48 +01:00
Eberhard Beilharz
5176dd8a0e
refactor(linux): address code review comments
Also some cleanup.
2025-01-09 16:55:54 +01:00
Eberhard Beilharz
3251168e6b
chore(linux): address code review comments 2025-01-08 18:40:22 +01:00
Eberhard Beilharz
d425f2a1a4
chore(linux): use standard header 2025-01-08 18:40:08 +01:00
Eberhard Beilharz
93caf9b782
chore(linux): change from SIL International to SIL Global 2025-01-08 12:42:05 +01:00
Eberhard Beilharz
7fd16dc93f
chore(linux): improve help for build.sh 2025-01-08 12:34:53 +01:00
Eberhard Beilharz
e54f822786
chore(linux): cleanup
Setting permissions is now done in the base image.
2024-09-11 16:16:18 +02:00
Eberhard Beilharz
e23e112e7a
chore(linux): remove temporary code for Core image 2024-09-11 15:54:20 +02:00
Eberhard Beilharz
caba09a8d4
chore(linux): attempt to fix Android build in Docker
These changes bring us one step further, but the build is still failing.
2024-09-11 14:30:22 +02:00
Eberhard Beilharz
0d6f655d49
chore(linux): fix build order 2024-09-03 15:44:08 +02:00
Eberhard Beilharz
1772fdf055
chore(linux): pre-install EMSCRIPTEN
Also add test action to build.sh which builds all images and then tests
them by running configure,build,test on each.

Also add new dependencies to web image which Playwright requires.
2024-09-01 13:08:44 +07:00
Eberhard Beilharz
d6c5320325
chore(linux): address code review comments
- use KEYMAN_USE_NVM and KEYMAN_USE_EMSDK
- pre-install node (where necessary) to prevent having to do it on each
  build
- adjust to current `master`
- fix a few bugs in the Dockerfile
- get required node version from package.json (through
  `shellHelperFunctions.sh`)
2024-08-31 22:33:56 +07:00
Eberhard Beilharz
ad4bbdf047
feat(common): add script to run build and tests in Docker container
Addresses code review comments.
2024-08-28 14:15:19 +07:00
Eberhard Beilharz
8a4cdcedf4
feat(core): add CI image for building Keyman Core 2024-07-04 16:12:48 +02:00
Eberhard Beilharz
23d8a014fd
feat(android): add CI image for building Keyman for Android 2024-07-04 16:12:48 +02:00
Eberhard Beilharz
2767765c5a
feat(web): add CI image for building Keyman Web 2024-07-04 16:12:47 +02:00
Eberhard Beilharz
72bc6c7b8b
feat(linux): add CI image for building Keyman for Linux
This change allows to build a docker image that can build Keyman
for Linux with test coverage reports, and installs the necessary
dependencies for running integration tests.
2024-07-04 16:12:47 +02:00
Eberhard Beilharz
5c337bec8e
feat(common): add base CI image 2024-07-04 16:12:47 +02:00
Eberhard Beilharz
d554415b1c
change(common): add readme and build.sh 2024-07-04 13:14:13 +02:00