Commit graph

1626 commits

Author SHA1 Message Date
Joshua Horton
fdc149c9a3
Merge pull request #14007 from keymanapp/maint/builder-autocomplete-inc-sh
maint: change builder_completion script to a .inc.sh
2025-05-22 11:34:59 +07:00
Eberhard Beilharz
202b16459c
maint(linux): use correct syntax to define local variables in script 2025-05-21 16:33:42 +02:00
Eberhard Beilharz
eb31116dde
Merge pull request #13986 from keymanapp/maint/linux/tcrel
In addition to all the other dependencies we also need quilt installed in order to be able to create a source package. Additionally renamed a function to clarify its purpose.
2025-05-21 08:54:58 +02:00
Joshua Horton
2721c74a91 maint: change builder_completion script to a .inc.sh
Fixes: #14004
2025-05-21 11:36:58 +07:00
Joshua Horton
e83ec37231 Merge branch 'master' into maint/dev-android-on-mac 2025-05-21 08:11:47 +07:00
Eberhard Beilharz
87f150f6b5
maint(linux): fix release build configuration
We also need quilt installed in order to be able to create a
source package.
2025-05-20 08:42:31 +02:00
Eberhard Beilharz
53ffd5625b
fix(linux): rename function to install test dependencies
# 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-20 08:41:31 +02:00
Joshua Horton
dfad7a4e25 maint: update macOS env setup + documentation
Fixes: #13177

We now need to install sdkmanager through a different Homebrew package /
"cask".  This does get us `sdkmanager`, but it has a new default location
for its Android SDK, while our builds still refer to the old location
under the home directory.  The build script thus needs a bit of tweaking
to force `sdkmanager` to operate based on the location we've previously
referred to.

Additionally, macOS machines typically default to the zsh terminal these
days, so the old profile auto-config doesn't work.  This adds and
documents example profile script that can be used to configure a macOS
dev machine's terminal environment.
2025-05-19 14:24:26 +07:00
Eberhard Beilharz
cb7f0ccef6
Merge pull request #13968 from keymanapp/maint/linux/fixrelease 2025-05-19 08:45:59 +02: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
Eberhard Beilharz
65c51d7926
maint(linux): fix release build
The old build config on TC did only run the tests for `keyman-config`.
#13754 missed that fact, and so this script it previously did run all
Linux tests. The integration tests failed because they were missing the
necessary setup.

This change runs all Linux tests without the integration tests.

Follow-up-of: #13754
Test-bot: skip
2025-05-16 20:32:55 +02: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
Eberhard Beilharz
1e8f692410
Merge pull request #13754 from keymanapp/chore/common/13399_tc-config 2025-05-15 16:32:53 +02: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
Eberhard Beilharz
c9632fd412
maint(common): add some code comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-05-14 17:21:50 +02:00
Marc Durdin
e7090ff207
Merge pull request #13882 from keymanapp/maint/common/builder-error-to-stderr
maint(common): report builder errors to stderr
2025-05-14 15:57:52 +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
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
Darcy Wong
4645d1471a maint(android): Remove set_java_home_17
Unused per review comment
2025-05-12 20:53:20 +07:00
Eberhard Beilharz
135553d3a9
Merge pull request #13879 from keymanapp/maint/common/dockermerge 2025-05-12 10:26:22 +02: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
Eberhard Beilharz
da7c598d80
Merge pull request #13869 from keymanapp/maint/common/cifuncs 2025-05-12 08:56:56 +02:00
Marc Durdin
57db01e32f
Merge pull request #13823 from keymanapp/maint/common/13822-gosh-revisited
maint(common): rename gosh.sh to gosh
2025-05-12 12:27:36 +07: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
Marc Durdin
5b1e969c23 maint(common): report builder errors to stderr
Sometimes a builder script can be redirected internally and then error
messages are lost in the redirect if the script fails. This sidesteps
that problem by reporting errors to stderr instead of stdout.
2025-05-12 06:28:42 +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
4c4d39ef85
maint(common): use new builder_is_running_on_* functions 2025-05-09 11:56:38 +02:00
Eberhard Beilharz
7f12f904eb
maint(common): address code review comments
- remove `builder_is_running_on_ci` function since there already is a
  similar `builder_is_ci_build` function
- use `GITHUB_ACTIONS` environment variable instead of `GITHUB_RUN_ID`
  to detect if we're run be GitHub Actions
2025-05-09 11:39:57 +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
319406d30d
Merge pull request #13868 from keymanapp/maint/common/tcblocksfix 2025-05-08 17:47:29 +02:00
Eberhard Beilharz
3634dd1702
maint(common): add three more functions to detect if running on CI
This adds the three additional functions `builder_is_running_on_ci`,
`builder_is_running_on_docker`, and `builder_is_running_on_gha` to be
able to detect if the build is running in a CI or CI-like container
environment.
2025-05-08 17:44:40 +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
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
Darcy Wong
c8cd5b13b3 maint(android): Add setting JAVA_HOME_21 env 2025-05-08 09:59:38 +07:00