Commit graph

2020 commits

Author SHA1 Message Date
Eberhard Beilharz
2d8a4aeebc
maint(core): fix option defaults for Meson >= 1.1
Meson 1.1 changed the name of the options file from `meson_options.txt`
to `meson.options`. Currently we're stuck with Meson 1.0 as minimum
Meson version because we still support Ubuntu 22.04 Jammy, but on some
machines a newer version of meson gets installed which causes the
options to be ignored.

The first attempt to simply symlink or copy `meson_options.txt` to
`meson.options` failed because git on Windows doesn't support symlinks
by default, and Meson complains if it finds two options files (#15127).

Fortunately not having an options file is only a problem for Core where
we have one option in the options file that defaults to true. The solution
implemented in this change is to always pass the option to Meson.

Test-bot: skip
2025-11-10 15:24:46 +01:00
Markus Greiner
f92483d630
Merge pull request #14900 from keymanapp/fix/common/match-container-permissions
maint(resources): Docker container changes permissions to match the file owner uid and gid
2025-11-04 23:06:28 +01:00
Markus Greiner
473b177050 Handle uid and gid the same way as in the other Dockerfiles 2025-11-04 22:53:26 +01:00
Markus Greiner
e86c419a42
Update resources/docker-images/android/Dockerfile
Forgotten to remove when CHANGE_PERMISSIONS was invented.

Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-11-04 22:48:00 +01:00
Marc Durdin
29b02fb955 docs(windows): visual studio 2022
Build-bot: skip
2025-10-31 07:23:43 +01:00
Marc Durdin
3fc29928da maint(resources): include sourcemaps in npm publish
Build-bot: skip release:developer
Test-bot: skip
2025-10-29 17:12:52 +01:00
Marc Durdin
ba9500826d maint(resources): add npm pack/publish to pr-build-status bot 2025-10-29 10:29:14 +01:00
Marc Durdin
f9b25890b6 maint(resources): add meson and emscripten setup to npm-publish
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
2025-10-29 10:27:29 +01:00
Marc Durdin
3040c72174 maint(resources): skip nvm in npm-publish script
Test-bot: skip
Build-bot: skip
2025-10-28 15:28:24 +01:00
Marc Durdin
e20eb7b4db
Merge pull request #15038 from keymanapp/maint/resources/npm-publish-build-first
maint(resources): add build and test for npm packaging and add status check results
2025-10-28 15:00:04 +01:00
Marc Durdin
17cc7fd321 maint(resources): fix build call in npm-publish 2025-10-28 13:41:55 +01:00
Marc Durdin
fe7209cdeb maint(resources): verify keyman_root 2025-10-28 13:40:48 +01:00
Marc Durdin
7e1d38b498
Merge pull request #15028 from keymanapp/maint/mac/tweak-macos-env
maint(mac): minor tweaks to mac setup, using build.sh
2025-10-28 13:31:39 +01:00
Marc Durdin
c282e557c4 maint(resources): add build and test for npm packaging
Test-bot: skip
Build-bot: skip release:developer
2025-10-28 13:10:04 +01:00
Marc Durdin
ba411774f6 maint(resources): move NPM package publishing to GitHub Actions
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
2025-10-27 16:31:55 +01:00
Marc Durdin
1d223908ff maint(mac): minor tweaks to mac setup, using build.sh
Build-bot: skip
Test-bot: skip
2025-10-27 09:10:33 +01:00
Markus Greiner
d9b4ec9baf Weakening condition for gid and uid (after review
Test-bot: skip
Build-bot: skip
2025-10-22 18:02:17 +02:00
Markus Greiner
c9b44d33c7 Changing permissions only in the case if building and testing on GitHub 2025-10-22 15:39:17 +02:00
Markus Greiner
54f5fc1ea3 Privileged mode is not required. 2025-10-21 15:59:06 +02:00
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
Marc Durdin
f8c63ed65d
Merge pull request #14893 from keymanapp/maint/trigger-more-logging
maint(resources): fix watch bug for common files, and add more logging for triggering builds
2025-10-10 05:03:31 +02:00
Marc Durdin
69922d0ba3 maint(resources): further logging and fix indirection bug with watch 2025-10-06 16:55:02 +02:00
Eberhard Beilharz
65f2e354eb
maint(linux): suppress output of stopping processes after test run
This change suppresses the output of ending the processes started for
the test run. The output doesn't help much but clutters the overall
output and shows up as warnings on TC.
2025-10-06 16:13:44 +02:00
Eberhard Beilharz
229bdf8270
maint(resources): nest unit tests under parent block
This adds a modified `mocha-teamcity-reporter` that allows to nest the
unit tests under the parent block.

Fixes: #14839
Test-bot: skip
2025-10-06 16:09:47 +02:00
Marc Durdin
ebc137ab11 maint(resources): more logging for triggered builds
Add a list of all files modified in the PR; removes 'web' from windows
build target.

Test-bot: skip
2025-10-06 15:44:38 +02:00
Eberhard Beilharz
6c2237d800
Merge pull request #14817 from keymanapp/maint/linux/13887_integrtests
maint(linux): fix integration tests in Docker

This PR allows the integration tests to work when running them in a Docker container. Also fixes things when running on TC's Ubuntu 24.04 Noble build agent, and improves the behavior when running directly on a developer's machine (previously typing stopped working after the tests...).

Also fixes building mcompile in a Docker container.

Fixes: #13887
2025-10-06 12:01:38 +02:00
Eberhard Beilharz
b302da5094
refactor(web): address code review comments 2025-10-02 10:47:49 +02:00
Eberhard Beilharz
34c43b1e15
refactor(web): cleanup in test scripts
Also use common function for running web types tests.

Test-bot: skip
2025-09-30 17:40:15 +02:00
Markus Greiner
49d8acf16b running the container for core in privileged mode
this is expected to fix a permission issue when running in
GitHub Actions.

Test-bot: skip
Build-bot: skip
2025-09-30 12:57:16 +02:00
Eberhard Beilharz
167ec33d54
chore(linux): Merge remote-tracking branch 'origin/master' into maint/linux/remotedbgdocker 2025-09-30 08:29:02 +02:00
Eberhard Beilharz
cca4a502f1
docs(linux): document --remote-debug option for run.sh 2025-09-29 17:49:00 +02:00
Eberhard Beilharz
16727304b5
chore(linux): fix building mcompile in Docker container 2025-09-25 19:34:22 +02:00
Marc Durdin
df194a7511
Merge pull request #14816 from keymanapp/maint/resources/find-7z-on-path-in-windows
maint(resources): lookup 7z on path on Windows if SEVENZ_HOME is not set
2025-09-25 15:41:48 +02:00
Marc Durdin
bf9e135072 maint(resources): use command instead of where to find 7z.exe
Using `7z.exe` instead of `7z` finds the correct command.
2025-09-25 08:56:06 +02:00
Marc Durdin
ec229c1a23
Merge pull request #14815 from keymanapp/maint/windows/sign-check-only-in-ci
maint(windows): check code signatures only in CI builds
2025-09-25 05:48:02 +02:00
Markus Greiner
b8007beedc fix(common): registry clean-up enabled, no terminal in github action
No longer dryrun for the registry clean-up GHA workflow
docker run doesn't use a terminl (erasing -t flag)

Test-bot: skip
Build-bot: skip
2025-09-24 17:24:16 +02:00
Eberhard Beilharz
db3cd5092d
maint(linux): remove several shellcheck directives and warnings
This change improves our `.shellcheckrc` file so that several directives
are no longer needed and source files are still found. Also remove some
directives that are no longer necessary, either because the changes to
`.shellcheckrc` makes them obsolete, or because the lines changed so
that they no longer contain the problem.

Also remove some shellcheck warnings.

Build-bot: skip
Test-bot: skip
2025-09-23 18:30:16 +02:00
Eberhard Beilharz
23f8c59c07
maint(linux): allow to remote debug integration tests in Docker
This adds a `--remote-debug` option to `resources/docker-images/run.sh`.
If specified the container will expose `localhost:2345` for remote
debugging inside of the container.

This is useful for debugging integration tests in the container.

Build-bot: skip
Test-bot: skip
2025-09-23 18:20:32 +02:00
Marc Durdin
4828df7c89 maint(resources): lookup 7z on path on Windows if SEVENZ_HOME is not set
Also cleans up a number of possible quoting issues and shellcheck
directives.

Note: we need to do release builds everywhere to verify that zip changes
are not going to break things.

Test-bot: skip
Build-bot: release
2025-09-23 10:44:58 +02:00
Marc Durdin
c06b5b8eea maint(windows): check code signatures only in CI builds
When building locally, code signatures will not have SIL in the name, so
will fail the build. So skip checking code signatures on local builds.

Build-bot: skip release:windows,developer
Test-bot: skip
2025-09-23 10:32:55 +02:00
Markus Greiner
ea77b0cb5f Merge remote-tracking branch 'origin/master' into fix/common/tests-running-in-container
adding "-t" when Docker containers are not started by a Docker container
2025-09-22 14:04:26 +02:00
Eberhard Beilharz
14d47cc14d
refactor(resources): use array for Docker arguments
Test-bot: skip
2025-09-19 18:45:31 +02:00
Markus Greiner
bae371bb50 fix(common): some more tests running successfully in a container
setting KEYMAN_ROOT
ignoring test:linux until #13887 is fixed
removing docker "-t" option, because there is no terminal to attach
while running on the GitHub server

Test-bot: skip
Build-bot: skip
2025-09-18 11:24:53 +02:00
Eberhard Beilharz
f628a869ea
maint(resources): fix broken test build trigger for master branch
Test-bot: skip
2025-09-17 11:24:27 +02:00
Marc Durdin
d852916d4d
Merge pull request #14734 from keymanapp/fix/resources/pr-build-status-cr-to-lf
fix(resources): match cr to lf change in pr-build-status.mjs
2025-09-12 09:48:07 +02:00
Darcy Wong
3a0e031be4
Merge pull request #14728 from keymanapp/chore/common/unicode-17
chore(common): Update to Unicode 17.0
2025-09-12 09:05:50 +07:00
Marc Durdin
293dbb83e9 fix(resources): match cr to lf change in pr-build-status.mjs
Follows: #14732
Build-bot: skip
Test-bot: skip
2025-09-11 14:59:51 +02:00
Marc Durdin
6d6cc36c8f fix(resources): add more logging for build-status 2025-09-11 13:25:45 +02:00
Marc Durdin
7e3925ebfc fix(resources): always pass summary through
Fixes: #14731
2025-09-11 13:18:43 +02:00
Marc Durdin
1433f15506 fix(resources): pr build status - find 'failure' state in status checks and log
Fixes: #14731
Build-bot: skip
Test-bot: skip
2025-09-11 12:59:16 +02:00