This also removes the need to have a test for `-b` parameter in
trigger-test-builds.sh, because the TC scripts calling this can already
factor that in.
Testing script trigger so only do builds of common to verify
Fixes: #14483
Test-bot: skip
Build-bot: skip:all build:common
This change adds the `--quiet` option to the `run_tests` function of
the testing framework. This will redirect the regular output to a log
file (`/tmp/<testname>.log`) and only output the pass/failed result.
It's not necessary to switch to the help.keyman.com directory before
calling the `help-keyman-com.sh` script, so this change removes that
and also the surrounding sub-shell.
Build-bot: skip
Test-bot: skip
Previously the assumption was that `launchpad.sh` would be run from the
`linux` directory. This change sets the directory at the beginning of
the script, allowing it to be run from any directory. Also specify full
path to `launchpad.sh` in the TC build script.
Build-bot: skip
Test-bot: skip
By default Git Bash converts paths starting with `/`, so running the docker image fails with errors or files mentioning `\Program Files\Git\` (e.g. https://github.com/keymanapp/keyman/pull/14058#issuecomment-2951820833). This change adds a wrapper function that prevents the conversion and thus uses the paths in the correct form when calling docker.
Since the docker builds run on Linux they expect LF line endings. If the scripts are checked out with CRLF line endings, they look for things like `bash^M`. While there are workarounds to some degree, I didn't found a solution that would fully work with our scripts. So in the end this PR now always checks out scripts with LF line endings, even on Windows.
If you test this you'll have to re-checkout the source tree so that you end up with LF line endings.
Fixes: #14153
Consolidates the node-related script functions into node.inc.sh, as part
of cleaning up the build scripts and making them easier to maintain into
the future. In the earlier commite some changes were missing.
Follows: #14540Fixes: #14447
Build-bot: skip
Test-bot: skip
* Also renames resources/environment.sh to resources/build/mac/xcode-environment.inc.sh.
* Adds a few more exclusions to linux/scripts/dist.sh
Fixes: #14478
Test-bot: skip
Build-bot: build
When #14551 and #14552 merged, it resulted in a bug which was exposed by
the unit tests (yay!).
Follows: #14551
Follows: #14552
Build-bot: skip:all build:common_windows,common_mac,common_linux
Test-bot: skip
When an unsupported action is provided to a child build, then don't fall
back to the default action 'build', because generally that is not what
we want -- we want a no-op
Fixes: #14506
Build-bot: skip:all build:common_linux,common_mac,common_windows
Test-bot: skip
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.
By default Git Bash converts paths starting with `/`, so running the
docker image fails with errors or files mentioning `\Program Files\Git\`.
This change adds a wrapper function that prevents the conversion
and thus uses the paths in the correct form when calling docker.
Consolidates the node-related script functions into node.inc.sh, as part
of cleaning up the build scripts and making them easier to maintain into
the future. In the earlier commite some changes were missing.
Fixes: #14447
Note: this does not remove auto merge from the
auto-merge-keyman-server-pr.yml GHA at this time, because that would
require us to use graphql to mark PRs as auto-merge, and we are not
quite ready to do that. So we'll continue to use the automerge action
for now.
The scope for pull request events has been expanded on
auto-merge-keyman-server-pr.yml so that updates to build status trigger
the automerge as needed.
Fixes: #14502
Build-bot: skip
Test-bot: skip
Refactor the publish action for Android to ensure that symbols are
published to Sentry for any 'release' buildLevel -- test releases and
alpha/beta/stable releases.
Splits the publish action into `publish-symbols` and
`publish-play-store` so that they can be run separately as needed, as
symbols can be published for test builds, but play store is only touched
for actual releases.
Note: examining the build logs and Sentry server state, it looks like
the publish to Sentry has not been happening for quite a while, so this
commit refactors the Sentry publishing code and establishes the
fv-keyboards publish target also.
Fixes: #14284
Build-bot: release
Test-bot: skip
The check for PR number vs base branch is no longer necessary, as this
is controlled by buildLevel instead. Removing it.
Note that the `--pr-number` parameter is no longer required in
keyman-ios-test.sh. See comment inline.