Commit graph

874 commits

Author SHA1 Message Date
Marc Durdin
4434cdc30d chore(web): disable browserstack on non-web-specific builds
Because BrowserStack tests are unreliable, I am disabling them for any
builds that are not specifically targeting web. Two ways that the tests
can be enabled:

1. Include '(web)' in the PR title
2. Include the label test-browserstack

This only impacts builds in the CI test environment, not anything else.

See build-utils-ci.inc.sh for helper functions for accessing PR
metadata, and build-utils-ci.test.sh for unit tests for this
functionality.
2022-09-11 07:19:18 +10:00
Marc Durdin
748a4ca63f chore(common): fixup support for options which have no variable param 2022-08-24 09:55:26 +10:00
Marc Durdin
026809f9ad chore(common): remove debug code 2022-08-24 03:58:16 +10:00
Marc Durdin
e27bf34c7d chore(common): tweak variable parameter support 2022-08-24 03:58:15 +10:00
Marc Durdin
8ab42029d0 chore(common): add variable support for --options in builder script 2022-08-24 03:58:14 +10:00
dependabot[bot]
ea50559fc1
chore(deps): bump @actions/core from 1.8.2 to 1.9.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.8.2 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-18 19:58:19 +00:00
Marc Durdin
0a22acd0e4
Merge pull request #7018 from keymanapp/chore/common/builder-tweaks
chore(common): build-utils.sh minor tweaks
2022-08-03 20:19:42 +10:00
Marc Durdin
6f37f93c10 chore(common): add wasm test build trigger 2022-08-01 14:50:36 +10:00
Marc Durdin
5c3e11d10b chore(common): add comment for builder_use_color 2022-07-30 06:01:47 +10:00
Marc Durdin
683d8b9e68 chore(common): build-utils.sh minor tweaks
Fixing up a number of minor bits and pieces identified during demo:

* invalid action or :target would not be picked up if paired with a
  valid one (e.g.: build:foo should not have worked)
* colors defined in both shellHelperFunctions and build-utils were
  problematic; able to remove them from shellHelperFunctions because
  all references included both scripts
* builder_has_action and builder_report now allow both `action:target`
  and `action :target`
* keyman-version/build.sh did not have working test action...
2022-07-29 17:37:19 +10:00
Marc Durdin
c1118d908c
Merge branch 'master' into chore/common/builder-script-target-and-option-support 2022-07-29 10:37:18 +10:00
Marc Durdin
ba6bc677cd chore(common): tweak build help and color support 2022-07-29 10:35:18 +10:00
Marc Durdin
a00c9a9a85 chore(common): disable debug flag 2022-07-29 05:45:08 +10:00
Eberhard Beilharz
9f7b85834a
chore(linux): Update resources/shellHelperFunctions.sh
Somehow missed this with the previous commit.

Co-authored-by: Marc Durdin <marc@durdin.net>
2022-07-28 09:20:35 +02:00
Eberhard Beilharz
420cc0814d
chore(linux): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-07-28 09:19:25 +02:00
Marc Durdin
3fa1701db3 chore(common): tweak defaults for builder
Default action is 'build' unless overridden in builder_describe.
Default target is all targets when no target is specified in command-
line.
2022-07-28 14:20:25 +10:00
Eberhard Beilharz
9232c20569
chore(linux): address review comments
This change also slightly modifies `echo_heading` and outputs a
mark. This will show to the left of the line as well as in the
scroll bar in a terminal in VSCode [[1]] and will help to find the
headings if you have a lot of output in between.

[1]:https://code.visualstudio.com/updates/v1_69#_setmark-sequence-support
2022-07-27 12:22:55 +02:00
Marc Durdin
8fd3442fe2 chore(common): remove builder_init
builder_init was unnecessarily and inconsistently duplicating
builder_describe and builder_parse functionality. Removing it -- all
scripts should use builder_describe and builder_parse instead, which
gives us more flexibility and consistency into the future.
2022-07-27 15:07:12 +10:00
Marc Durdin
767927bf16 chore(common): use /usr/bin/env bash
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.

This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:

```
if [[ -v _builder_params[$e] ]]; then
```
2022-07-25 14:59:37 +10:00
Marc Durdin
93a03acb9f chore(common): builder script :target and --option support
Adds support for :target and --option to the builder_() functions in
build-utils.sh, along with a consistent way of describing command line
parameters in short-hand form, so we can avoid the display_usage getting
out of sync with actual command line parameters.

I opted to tweak the existing usage slightly, reversing parameter order
for `builder_report`, so that we could extend `builder_report` cleanly
to support targets.

The new builder_() functions are `builder_describe` and `builder_parse`,
which should be used in place for `builder_init` where you want to
provide more detailed command-line options (for many scripts, the
defaults provided through `builder_init` may suffice).

`builder_describe` lets you set a single-line description of the script,
along with a list of parameters: `actions`, `:targets` and `--options`.
Options may also specify a shorthand form, e.g. `--option,-o`. Each
parameter may optionally include a short description, separated by
space(s) from the parameter name.

build-utils.test.sh tests the functionality of the various functions,
and provides some examples of using them.

Defaults:
* If a target is not specified in `builder_describe`, a standard target
  of `:project` will be available.
* If the user does not pass an action on the command line, then `build`
  will be used.
* If the user does not pass a target on the command line, all targets
  will have the actions applied.

Note, it is possible to have targets which do not use all actions. These
may be still be specified, but can be ignored. For example, `test:tools`
may not be an action:target that you handle in the script. At this time,
the builder_() functions do not attempt to check for this.
2022-07-25 14:31:58 +10:00
Marc Durdin
35adc5b970
Merge pull request #6630 from keymanapp/chore/developer/js-to-lmc
chore(developer): rename developer/js to developer/kmlmc 🎢
2022-07-06 05:42:19 +10:00
Marc Durdin
cb94639ebb fix(common): trigger builds correctly for stable builds 2022-06-26 14:33:36 +10:00
Marc Durdin
ec690f47f9
Merge branch 'master' into chore/developer/js-to-lmc 2022-06-25 09:34:27 +10:00
Marc Durdin
4f36c3c2df chore(developer): Merge branch 'master' into chore/developer/js-to-lmc 2022-06-25 05:48:57 +10:00
Marc Durdin
cc18058cfe chore(ios): rename run-xcodebuild to run_xcodebuild 2022-06-24 14:03:55 +10:00
Marc Durdin
0730098236 chore(ios): update ios/macos build scripts to log scripts
Adds run-xcodebuild function to wrap xcodebuild calls to keep logging
and error handling consistent. Currently used only by the iOS build; the
macOS build has a corresponding execBuildCommand function which does
pretty much the same thing (changing that would belong in a separate PR
I think and low priority.)
2022-06-24 11:37:46 +10:00
Marc Durdin
9904f91801 chore(ios): improve logging 2022-06-24 07:55:07 +10:00
Marc Durdin
fb53bb9396 chore(ios): attempt to log script actions 2022-06-24 07:18:02 +10:00
Marc Durdin
3321667ffa
Merge pull request #6629 from keymanapp/chore/common/move-common-core-desktop-to-core
chore(core): move common/core/desktop/ to core/ 🍏
2022-06-23 06:24:42 +10:00
Eberhard Beilharz
f2de89bcc2
chore(common): Merge branch 'master' into chore/common/move-common-core-desktop-to-core 2022-06-15 09:00:32 +02:00
Marc Durdin
9147bf3a48 chore: fix version increment for force parameter 2022-06-15 14:55:45 +10:00
Marc Durdin
3237df00b1 chore: add trigger definitions for stable-15.0 2022-06-15 14:54:20 +10:00
Marc Durdin
a9c5b4ecb7 fix(common): update increment-version for new tsc, node versions
* Addresses some Typescript-specific breaking changes in destructured
  types.
* Removes npm version calls and package*.json updates -- these are no
  longer required.
* Adds resources/build/version as a workspace to root package.json.
* Runs `npm ci` on the repo root for resources/build/version.
* Adds additional logging.
2022-06-13 15:54:18 +10:00
Marc Durdin
d5aa61fdc0 chore(common): Merge branch 'chore/web/keyman-version-for-developer' into chore/common/move-common-core-desktop-to-core 2022-05-30 09:38:27 +10:00
Marc Durdin
fcf78bcd94 chore: merge master into branch 2022-05-27 13:11:23 +10:00
Marc Durdin
7ffcac0dcc chore: merge master 2022-05-27 09:55:10 +10:00
Keyman Build Agent
996018fe90 auto: increment beta version to 15.0.253 2022-05-25 14:02:14 -04:00
Keyman Build Agent
6ad1549167 auto: increment beta version to 15.0.252 2022-05-23 14:02:48 -04:00
Marc Durdin
49a70d7542 chore(developer): update build trigger definitions 2022-05-23 06:14:16 +10:00
Keyman Build Agent
9697f0233c auto: increment beta version to 15.0.251 2022-05-20 14:02:40 -04:00
Keyman Build Agent
e71dd1af38 auto: increment beta version to 15.0.250 2022-05-19 14:02:12 -04:00
Marc Durdin
8a8cc3730d
Merge pull request #6624 from keymanapp/chore/common/history-related-prs
chore(common): improve PR reporting of changes
2022-05-19 11:14:23 +10:00
Marc Durdin
4ab3c53810 chore(common): adjust scripts for core relocation 2022-05-18 07:22:11 +10:00
Marc Durdin
05a4c33200 chore(web): move common/core/web to common/web
Relates to #5816.

Moves folders under common/core/web to common/web:

* input-processor -> common/web/input-processor
* keyboard-processor -> common/web/keyboard-processor
* tools/recorder -> common/web/recorder
* tools/sentry-manager -> common/web/sentry-manager
* utils -> common/web/utils

Updates scripts and configuration to point to new folders.
2022-05-18 06:01:03 +10:00
Keyman Build Agent
31879771ed auto: increment beta version to 15.0.249 2022-05-17 14:02:44 -04:00
Marc Durdin
d8f81cbdf1 chore(common): improve PR reporting of changes
Fixes #6391.

The issue here was quite nuanced: where we merged a PR, and then merged
the changes into an earlier PR, but left it open, the earlier PR could
end up getting the release information comment from keyman-server
instead of the later, merged PR. This was because the commit would
appear in both PRs, so GitHub would report on both of them.

This is not a 100% fix -- but it should stop the PR tagging on unmerged
pull requests. The one situation where this may leave a gap is where we
have multiple PRs merged on the same day, where a later PR's changes are
merged into an earlier PR; in this case I think it is possible that one
of the PRs will not get the informative version comment.

But given the current fix should avoid the more common situation, I am
comfortable to leave it as is for now. This is only informative data...
and a more complete fix is a distraction.
2022-05-17 10:43:07 +10:00
Keyman Build Agent
d1b9f2d52c auto: increment beta version to 15.0.248 2022-05-16 14:02:41 -04:00
Marc Durdin
833dde0ae4 chore: remove unnecessary package-lock.json files 2022-05-16 14:47:58 +10:00
Marc Durdin
15f4aa8af2 chore(web): update npm version refs for publishing packages
Note that the version entry will be added to the local package.json
which will then be dirty. This version entry should not be committed.
2022-05-16 08:46:09 +10:00
Marc Durdin
af44c0687f chore(web): move web-environment to common/web 2022-05-16 08:29:46 +10:00