Commit graph

741 commits

Author SHA1 Message Date
Eberhard Beilharz
71af4a9636
chore(windows): Merge branch 'master' into maint/windows/addzip 2025-07-22 17:29:56 +02:00
Eberhard Beilharz
fba8797fd2
Merge pull request #14387 from keymanapp/maint/common/fixzip
Previously `add_zip_files` didn't work if the zip filename was not specified as first parameter. This change allows it to come after flags.

This will fix web release and other builds.
2025-07-22 17:16:18 +02:00
Eberhard Beilharz
96dc8e0db7
Merge pull request #14386 from keymanapp/test/common/ziptests
Some cleanup and better use of functionality of testing framework.
2025-07-22 17:15:16 +02:00
Eberhard Beilharz
39b1da2940
Merge pull request #14382 from keymanapp/maint/common/jqstandalone
`jq.inc.sh` gets also used in some scripts that don't source our builder scripts, e.g. in git hooks. This means that `builder_is_windows` is not defined. This change replaces the call of that function with a slightly modified version of the previous implementation.

Follow-up-of: #14324
2025-07-22 15:14:49 +02:00
Eberhard Beilharz
d9e788d20d
maint(common): address code review comments
- update doc in the function header
- add unit tests to show that flags are allowed anywhere now
2025-07-22 15:08:07 +02:00
Eberhard Beilharz
e7ce49a295
maint(common): fix add_zip_files if flags come before zip filename
Previously `add_zip_files` didn't work if the zip filename was not
specified as first parameter. This change allows it to come after flags.

This will fix web release builds.

Test-bot: skip
2025-07-22 10:48:27 +02:00
Eberhard Beilharz
cb6e62531e
test(common): improve zip tests
Some cleanup and better use of functionality of testing framework.
2025-07-22 10:46:35 +02:00
Eberhard Beilharz
61d30ae0b7
Merge pull request #14380 from keymanapp/refactor/common/ziptests
This makes of the testing framework added in #14345 and also renames the tests to better separate the parts of the test name.
2025-07-22 09:55:49 +02:00
Eberhard Beilharz
87d6e1273f
maint(common): fix use of jq.inc.sh in git hooks
`jq.inc.sh` gets also used in some scripts that don't source our
builder scripts, e.g. in git hooks. This means that `builder_is_windows`
is not defined. This change replaces the call of that function with
a slightly modified version of the previous implementation.

Follow-up-of: #14324
Build-bot: skip
Test-bot: skip
2025-07-21 18:16:51 +02:00
Eberhard Beilharz
67a7c69324
refactor(common): use test framework for zip tests
This makes of the testing framework added in #14345 and also renames
the tests to better separate the parts of the test name.

Build-bot: skip
Test-bot: skip
2025-07-21 16:50:49 +02:00
Eberhard Beilharz
1ed4af1f7f
test(common): add unit test for reporting test failures
I added a unit test as part of #14345 but then forgot to commit it.

Follow-up-of: #14345
Build-bot: skip
Test-bot: skip
2025-07-21 16:44:07 +02:00
Eberhard Beilharz
4a2cf53fbc
maint(windows): replace use of wzzip with add_zip_files
This makes use of the new functionality refactored in the previous
commit by replacing the use of the `wzzip` function with `add_zip_files`.

Test-bot: skip
2025-07-21 10:26:31 +02:00
Eberhard Beilharz
501c666d7d
maint(windows): consider GO_FAST env variable
This changes makes use of the logic that used to be in `win/zip.inc.sh`:
if the environment variable `GO_FAST` is set to 1, we use a low
compression level, resulting in faster builds. If it is set to 0 we
use maximum compression, resulting in slower builds. If `GO_FAST` is
not set we don't specify the compression level and rely on the defaults.

Test-bot: skip
2025-07-21 10:26:30 +02:00
Eberhard Beilharz
51ca604b47
chore(common): Merge remote-tracking branch 'origin/master' into maint/common/14109_isOsFuncs 2025-07-21 09:20:12 +02:00
Eberhard Beilharz
dc83c013e5
Merge pull request #14345 from keymanapp/maint/resources/testframework 2025-07-21 09:17:37 +02:00
Eberhard Beilharz
a53b5a4ab3
maint(common): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-07-21 09:11:58 +02:00
Eberhard Beilharz
ff275c6196
Merge pull request #14355 from keymanapp/maint/common/12526_c++17
Note that the ICU subprojects still explicitly specify C++17 since they are maintained outside of Keyman and so shouldn't be tied to the Keyman compiler version requirement.

Fixes: #12526
2025-07-21 08:36:36 +02:00
Eberhard Beilharz
fe62983cb4
Merge pull request #14352 from keymanapp/maint/common/dierelative
`7z` and `zip` behave differently if adding files that are not in the current directory. For files with relative paths, zip will add them relative to the current directory which is not what we want and can cause problems for the user. Therefore this change disallows files that are not in the current directory and aborts the build.
2025-07-21 08:35:54 +02:00
Eberhard Beilharz
aceb74c4aa
maint(resources): address code review comments
- return number of failed tests from `run_tests`
- add unit test for `run_tests`
- some cleanup
2025-07-18 20:23:33 +02:00
Eberhard Beilharz
faa521d82c
maint(common): set C++17 in standard.meson.build
Note that the ICU subprojects still explicitly specify C++17 since they
are maintained outside of Keyman and so shouldn't be tied to the Keyman
compiler version requirement.

Fixes: #12526
Test-bot: skip
2025-07-18 14:04:11 +02:00
Eberhard Beilharz
235b3c526e
refactor(resources): remove shellcheck warnings 2025-07-17 17:03:46 +02:00
Eberhard Beilharz
33f77656de
Merge pull request #14333 from keymanapp/maint/common/zipfunc
This change adds support for the `-xr!wildcard` parameter to the `add_zip_files` function, e.g. `-xr!build.sh` will exclude all `build.sh` files from the archive. This is an alternative to adding a file list.

Also add unit tests for `zip.inc.sh`.
2025-07-15 09:37:33 +02:00
Eberhard Beilharz
39bff3e504
maint(common): fail build if adding relative file to zip
`7z` and `zip` behave differently if adding files that are not in the
current directory. For files with relative paths, zip will add them
relative to the current directory which is not what we want and can
cause problems for the user. Therefore this change disallows files that
are not in the current directory and aborts the build.
2025-07-14 15:21:10 +02:00
Eberhard Beilharz
a1452d6ab8
maint(common): add simple unit testing framework for bash
Build-bot: skip
Test-bot: skip
2025-07-14 14:43:40 +02:00
Eberhard Beilharz
9be6128377
maint(resources): clarify description
Addresses code review comment.
2025-07-14 11:12:49 +02:00
Eberhard Beilharz
16d38a0e89
docs(common): update documentation of zip.inc.sh 2025-07-10 15:27:30 +02:00
Eberhard Beilharz
1f88da7deb
maint(resources): add build.sh to run all resource/build/test tests
Also adjust scripts to output standard pass message.
2025-07-10 15:22:50 +02:00
Eberhard Beilharz
d863fc4aa7
maint(common): add unit tests for zip.inc.sh 2025-07-10 14:27:30 +02:00
Eberhard Beilharz
f3206d58e4
maint(common): add support for inline file exclusions to add_zip_files
This change adds support for the `-xr!wildcard` parameter to the
`add_zip_files` function, e.g. `-xr!build.sh` will exclude all `build.sh`
files from the archive. This is an alternative to adding a file list.
2025-07-10 14:27:30 +02:00
Eberhard Beilharz
3b136fcec9
maint(common): consolidate functions to determine OS
- add `builder_is_windows`, `builder_is_macos` and `builder_is_linux`
  functions
- add/move `BUILDER_OS` env variable to `resources/builder.inc.sh`
- use the new functions and env variable

Fixes: #14109
Test-bot: skip
2025-07-09 18:33:09 +02:00
Eberhard Beilharz
dd30a13345
maint(resources): fix triggering of builds
Fixes: #14313
Follow-up-of: #14274
Test-bot: skip
2025-07-08 13:35:15 +02:00
Marc Durdin
8059fc769c
Merge pull request #14279 from keymanapp/maint/common/14278-trigger-common-builds-for-tc-common-changes
maint(common): trigger common builds for resources/teamcity/common changes
2025-07-04 08:34:05 +07:00
Marc Durdin
94efd2c639 maint(common): trigger common builds for resources/teamcity/common changes
Also removes old paths from triggers, and updates comments on matched
patterns.

Fixes: #14278
Test-bot: skip
2025-07-04 07:58:32 +10:00
Eberhard Beilharz
cbcbae473e
fix(common): fixes triggering builds if no builds to start
If the PR only contains files that we ignore, we previously failed to
finish the trigger build. This PR fixes the problem.

The problem can be observed in #14271 which only changed a file in
`resources/teamcity/common` which gets ignored in `find_platform_changes`.

Test-bot: skip
2025-07-03 21:07:45 +02:00
Marc Durdin
d5c61df5bf
Merge pull request #14216 from keymanapp/feat/resources/14200-builder-ignore-unknown-for-script-integrations
feat(resources): support ignoring unknown options in builder
2025-07-02 12:39:10 +07:00
Marc Durdin
41b89bb0d1 maint(resources): add pr-build-status test to resources/build.sh
Also tweak one output string for clarity.

Build-bot: skip
2025-06-25 05:51:00 +10:00
Marc Durdin
bb282303e4 maint(resources): minor cleanup
Build-bot: skip
2025-06-25 05:47:12 +10:00
Marc Durdin
6ab6e2b20e fix(resources): use correct payload for status event 2025-06-24 16:54:56 +10:00
Marc Durdin
9de8d260cc maint(resources): support additional workflow events for pr-build-status
Also retrieves the correct SHA from each workflow event.

Build-bot: skip
Test-bot: skip
2025-06-24 16:49:19 +10:00
Marc Durdin
795f9f75ae maint(resources): build pr-build-status.yml from sources 2025-06-24 09:47:12 +10:00
Marc Durdin
dde272ac27
Merge branch 'master' into feat/resources/14200-builder-ignore-unknown-for-script-integrations 2025-06-24 06:10:12 +07:00
Marc Durdin
3be1bd942d
Merge pull request #14199 from keymanapp/maint/resources/14172-pr-build-status-2
maint(resources): add pr-build-status GitHub Action to summarize build status 🤖
2025-06-24 06:07:30 +07:00
Marc Durdin
61e1b4ca37
Merge pull request #14217 from keymanapp/maint/resources/allow-target-branch-names-in-rrtb
fix(resources): allow branch names in run-required-test-builds shortcut call
2025-06-24 06:07:16 +07:00
Marc Durdin
0f4a1cdfe7 fix(resources): allow branch names in run-required-test-builds shortcut call
This is a transitional patch while we wait for the Build-bot changes to
flow through all the open PRs. Fixes the broken master test build.
2025-06-24 09:03:28 +10:00
Marc Durdin
a6936a3a41
Merge pull request #14196 from keymanapp/maint/developer/support-buildLevel
maint(developer): support buildLevel 🤖
2025-06-24 05:53:13 +07:00
Marc Durdin
8145c017d7 feat(resources): support ignoring unknown options in builder
Fixes: #14200
Test-bot: skip
2025-06-24 07:12:09 +10:00
Marc Durdin
27196068ae chore(common): Merge branch 'maint/common/pr-build-bot' of https://github.com/keymanapp/keyman into maint/common/pr-build-bot 2025-06-23 05:14:36 +10:00
Marc Durdin
94cdf834df maint(common): polish docs and add tests for build-bot 2025-06-23 05:05:01 +10:00
Marc Durdin
deb18b4811 maint(resources): add pr-build-status check run GHA
Adds a check run to verify the outcome of all builds on the branch, so
that we can add branch protection rules.

Fixes: #14172
Build-bot: skip
2025-06-19 07:36:06 +10:00
Marc Durdin
825f7d2df0
Merge branch 'maint/common/pr-build-bot' into maint/developer/support-buildLevel 2025-06-16 04:54:29 +07:00