Commit graph

12 commits

Author SHA1 Message Date
Markus Greiner
fb14a67db6 Docker changes permissions to match the file owner uid and gid
There is an issue that the Docker containers cannot modify the
files on KEYMAN_ROOT, since the user running build and tests on
Docker does not have the same gid and uid as the host user starting
the container.
The issue is solved by temporarily changing the uid and gid to
match the container user's uid and gid.

Test-bot: skip
Build-bot: skip
2025-10-21 15:59:06 +02:00
Eberhard Beilharz
72d8b705ff
maint(common): on Windows build as root inside docker container
This fixes a permission problem when we run docker from git bash.
On Windows we want to build as _root_ inside of the docker container.
This gives the necessary permissions due to the way the Windows user
is mapped to git bash/mingw and the docker container. On Linux
however we want to build as _build_ user inside the container so that
files we create are owned by the host user.

See https://github.com/keymanapp/keyman/pull/14154#issuecomment-2970577312
for further explanation.
2025-08-18 17:50:29 +02:00
Eberhard Beilharz
33fe775aa7
maint(developer): use docker buildx to build docker images
This change verifies that `docker buildx` is available and then uses that
for building the images. For that we apparently need the magic line at
the top of the `Dockerfile`s and set the environment variable
`DOCKER_BUILDKIT`. This solves a problem building docker images on
Linux with an older Docker version where the heredocs didn't work.
2025-06-06 18:10:53 +02:00
Eberhard Beilharz
4609abaaaf
chore(linux): use bash by default when building containers 2025-03-18 18:37:58 +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
5176dd8a0e
refactor(linux): address code review comments
Also some cleanup.
2025-01-09 16:55:54 +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
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
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
5c337bec8e
feat(common): add base CI image 2024-07-04 16:12:47 +02:00