Commit graph

680 commits

Author SHA1 Message Date
Eberhard Beilharz
656c4b8c6d
maint(resources): fix regression on mac triggering builds
The `grep` available on macOS doesn't have the `--perl-regexp` option,
so the changes introduced in #14047 caused a regression. This change
directly makes use of Perl which is available on macOS.

Fixes: #14146
Follow-up-of: #14047
Test-bot: skip
2025-06-10 18:53:08 +02:00
Darcy Wong
ceb7f741ae fix(android): Fix typos 2025-06-02 13:35:17 +07:00
Darcy Wong
6e5e25b5ea fix(android): Updates to handle zip-excludes 2025-06-02 11:45:32 +07:00
Darcy Wong
c455b8d74b
Merge pull request #13919 from keymanapp/maint/ios/use-zip-inc
maint(ios): Use zip.inc.sh to prep release artifacts
2025-06-02 10:27:36 +07:00
Eberhard Beilharz
eb1172b076
Merge pull request #14047 from keymanapp/maint/common/buildtrigger
This modifies the build triggers so that changes in `resources/teamcity` don't trigger builds on all platforms anymore. If a change happened in `resources/teamcity/$platform` or `resources/teamcity/includes` it will trigger a build for `$platform`. 

Since bash doesn't support negative look-aheads we use `grep` with the Perl regex option.

Fixes: #13943
2025-05-28 18:09:55 +02:00
Eberhard Beilharz
e7cb8b0617
maint(common): tweak labels for common and core
This change addresses code review comments. `common` and `core` also
have TC build configs, so we add labels for them as well.

Co-authored-by: Marc Durdin <marc@durdin.net>
2025-05-28 11:31:26 +02:00
Eberhard Beilharz
3a7663f7c1
fix(common): properly use newly installed node version
Previously, if we had to install a new node version, we activated it in
the same subshell as the installation. This had the effect that `NVM_BIN`
was set to the new version only in the subshell, but otherwise it still
had the wrong value. This caused build failures. Subsequent builds would
succeed because the node version was now available.

This change fixes things by using an explicit `if` instead of the
construct with parens which opened another subshell.

Fixes: #14056
Test-bot: skip
2025-05-27 17:07:23 +02:00
Eberhard Beilharz
efafd22b2f
maint(common): update build coordinator for resources/teamcity changes
This modifies the build triggers so that changes in `resources/teamcity`
don't trigger builds on all platforms anymore. If a change happened in
`resources/teamcity/$platform` or `resources/teamcity/includes` it will
trigger a build for `$platform`.

Since bash doesn't support negative look-aheads we use `grep` with the
Perl regex option.

Part-of: #13943
Build-bot: skip
2025-05-26 16:57:03 +02:00
Marc Durdin
2c52a733ec maint: add stable-19.0 triggers
This are a little early but good to have in place. Per release process
wiki, this should have been done at time of 18.0 stable release but
was missed (by me).
2025-05-25 06:03:37 +07:00
Darcy Wong
acc4aba32c fix(ios): Apply review comments
* Change zip_files to add_zip_files
* Clarify flags used for zip vs 7z
* Use `zip-excludes` instead of `excludes.in` for the list of file to exclude from the archive
2025-05-23 05:57:25 +07:00
Joshua Horton
bfb97ca0c6 maint(web): upgrade Sentry to 8.55.0
Fixes: KEYMAN-WEB-RX
(It was produced artificially after this PR's changes to validate them.)

Cross-reference with https://github.com/getsentry/sentry-javascript/blob/master/docs/migration/v7-to-v8.md in regard to minimum supported versions.

@keymanapp-test-bot skip
2025-05-22 14:02:16 +07:00
Darcy Wong
04629414e8 Merge remote-tracking branch 'origin/master' into maint/ios/use-zip-inc 2025-05-22 10:31:33 +07:00
Darcy Wong
4a4277ff5a refactor(common): Add regex for compression level 2025-05-21 08:23:08 +07:00
Darcy Wong
bf27e65d55 maint(common): Convert quiet mode flags for 7z 2025-05-19 14:37:15 +07:00
Darcy Wong
af6faddd5d maint(ios): Cleanup debug echos 2025-05-19 09:42:32 +07:00
Darcy Wong
6e8f961749 maint(ios): Convert some zip flags for 7z 2025-05-19 09:39:03 +07:00
Joshua Horton
9ecb89fba2
Merge pull request #13900 from keymanapp/maint/update-actions-and-octokit
maint: update @actions/github + @octokit references
2025-05-19 08:43:06 +07:00
Darcy Wong
2abb2374a4
Merge pull request #13812 from keymanapp/maint/common/7z-inc-sh
maint(common): Add zip.inc.sh for cross-platform zipping
2025-05-17 13:01:44 +07:00
Darcy Wong
2ba656d89a maint(common): Treat -x@filename as another flag 2025-05-17 12:06:56 +07:00
Darcy Wong
416fa5fa15 maint(common): Add 7z command
7z requires a command so adding `SEVENZ_CMD`
2025-05-16 09:51:43 +07:00
Darcy Wong
45cfd9fb48 chore: remove debug 2025-05-15 14:34:46 +07:00
Darcy Wong
44fd718d6d maint(common): Use -x@filename to exclude files 2025-05-15 14:22:29 +07:00
Darcy Wong
f2245442c6 chore(common): Cleanup script 2025-05-15 09:28:01 +07:00
Darcy Wong
06145a46dd
Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-05-15 09:19:59 +07:00
Darcy Wong
46648078ac maint(android): Handle 7z call 2025-05-14 14:36:18 +07:00
Darcy Wong
271ab0f7aa maint(android): Use file parameter of files to exclude 2025-05-14 13:39:00 +07:00
Joshua Horton
08ba7c4208 maint: update @actions/github + @octokit references 2025-05-13 14:25:46 +07:00
Eberhard Beilharz
09da7c0b10
Merge pull request #13892 from keymanapp/maint/common/13885_movefuncs
This change moves the `build_is_ci_*` functions from `resources/build/build-utils-ci.inc.sh` → `resources/builder.inc.sh`.
It also adds documentation for them.

Fixes: #13885 
Fixes: #13886
2025-05-13 09:00:56 +02:00
Darcy Wong
f78a417ba2 chore(common): Merge remote-tracking branch 'origin/master' into maint/common/7z-inc-sh
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2025-05-13 11:37:30 +07:00
Darcy Wong
eedfcf2f0e chore: Merge remote-tracking branch 'origin/master' 2025-05-13 07:05:25 +07:00
Eberhard Beilharz
7d33ff7ffa
maint(common): move build_is_ci_* functions
This change moves the `build_is_ci_*` functions from
`resources/build/build-utils-ci.inc.sh` → `resources/builder.inc.sh`.

Fixes: #13885
Test-bot: skip
2025-05-12 18:16:07 +02:00
Darcy Wong
4645d1471a maint(android): Remove set_java_home_17
Unused per review comment
2025-05-12 20:53:20 +07:00
Darcy Wong
8e73f1be15 maint(common): Handle exclude filenames 2025-05-12 15:15:14 +07:00
Darcy Wong
8566b7b037 maint(common): Parameterize zip function 2025-05-12 14:38:31 +07:00
Darcy Wong
63465ca2f5 chore(common): Merge remote-tracking branch 'origin/master' into maint/common/7z-inc-sh
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2025-05-12 14:37:32 +07:00
Eberhard Beilharz
cf3c08fb03
chore(common): Merge remote-tracking branch 'origin/master' into maint/common/cleanup 2025-05-12 09:03:45 +02:00
Eberhard Beilharz
d307051836
Merge pull request #13854 from keymanapp/maint/common/versionvars
Previously the builder scripts defined a readonly `VERSION` environment variable for the Keyman version. That caused problems when another (external) script tried to define a `VERSION` variable. We encountered this problem when trying to move the TC build steps of a configuration into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and renames `VERSION` → `KEYMAN_VERSION` etc. as well as `TIER` → `KEYMAN_TIER`. Unfortunately these variables are used in a lot of places, so this turned out to be a bit of a yak shave.
2025-05-12 08:58:19 +02:00
Marc Durdin
9802607935
Merge pull request #13857 from keymanapp/docs/common/13851-builder-md
docs(common): update readme link to builder.md
2025-05-12 11:48:36 +07:00
Eberhard Beilharz
4c4d39ef85
maint(common): use new builder_is_running_on_* functions 2025-05-09 11:56:38 +02:00
Darcy Wong
e061d3e755 docs(android): Update minimum versions docs 2025-05-09 09:43:54 +07:00
Marc Durdin
d8e7353553 chore(common): fix docs link 2025-05-09 03:48:07 +02:00
Eberhard Beilharz
907a16012c
maint(common): output start/end messages if not running on TC
If we're not running on TC we should output the start/end messages as
headings unless it's a child build. This was the previous behavior
before we added support for TC blocks.
2025-05-08 17:01:00 +02:00
Darcy Wong
c8cd5b13b3 maint(android): Add setting JAVA_HOME_21 env 2025-05-08 09:59:38 +07:00
Marc Durdin
1fbaf60cb5 docs(common): update readme link to builder.md
Fixes: #13851
2025-05-07 20:16:50 +02:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Eberhard Beilharz
addd8b2471
docs(common): document new builder_is_running_on_teamcity function 2025-05-07 11:03:06 +02:00
Joshua Horton
849014687b
Merge pull request #13827 from keymanapp/maint/common/local-builds-as-debug
maint(common): automatically set --debug option for local-environment builder-script uses
2025-05-07 10:17:59 +07:00
Joshua Horton
e145163fc0 fix(common): change --debug shorthand use from builder test script 2025-05-07 08:36:29 +07:00
Eberhard Beilharz
0c6ea615b3
Merge pull request #13810 from keymanapp/maint/common/tcblocks
This change adds support for TC blocks of service messages (https://www.jetbrains.com/help/teamcity/service-messages.html#Blocks+of+Service+Messages) and starts/ends a block in the `builder_start_action`/`builder_finish_action` functions. We output the TC block service messages only if we're running on TC, i.e. if the `TEAMCITY_GIT_PATH` environment variable is set.

Part-of:  #13399
2025-05-06 17:41:44 +02:00
Eberhard Beilharz
adace45fac
maint(common): fixed tests 2025-05-06 16:29:42 +02:00