Commit graph

469 commits

Author SHA1 Message Date
Marc Durdin
4f87aad344 chore(web): bulk renderer tsc cleanup
Changes the bulk renderer build script to the new standard build script
format and updates to use tsc -b. Cleans up final external <reference>s.
2022-05-16 05:50:11 +10:00
Marc Durdin
3f559e3f4e chore(developer): work around monorepo for building Developer Server 2022-05-15 06:42:48 +10:00
Marc Durdin
79784342c4 chore(web): fixup curl call for cross-platform 2022-05-01 15:59:18 +10:00
Marc Durdin
47f21ded76 chore(web): fixup func name 2022-05-01 15:20:20 +10:00
Marc Durdin
d4e42a4697 chore(web): report on file size 2022-05-01 14:53:22 +10:00
Marc Durdin
0fbf53f8d7 chore(web): move version from package.json to keyman-version package
Starts to resolve the chaos of putting version numbers into every
package.json file.

Adds a new keyman-version package which mimics the
version information in build-utils.sh. This will eventually replace
resources/web-environment.

Fixes the build for the lexical model compiler tools to remove refs to
package.json version and use keyman-version instead.

More fixes coming in a follow-up.
2022-04-17 06:47:39 +10:00
Marc Durdin
2f2d3c72c9 chore(web): move lm-worker into its own folder
This starts the reorg required for splitting the lm worker into its own
module. Tests are still not working. But builds are going.

Some decisions to be made around the final path for wrapping of the
code. I think it may be possible to do something a whole lot more
elegant by moving the wrapping process into the KMW build and leaving
the LM Worker output as a pure tsc output -- given only KMW wants the
wrapped worker anyway (tests aside). The actual wrapping code could
still be in the lm-worker folder.
2022-04-14 15:33:23 +10:00
Marc Durdin
4d94786852 chore(web): replace lerna with npm workspaces and ts projects
Fixes #6320.

Part 1 of moving from lerna to a simpler, maintained monorepo solution,
using TypeScript Projects and NPM Workspaces.

There is more work to be done here. At this point, KeymanWeb builds and
runs without errors, but the built file is substantially different,
mostly in include order.

Using TypeScript Projects, we move away from the need to run build
scripts in various locations for almost all the Typescript modules.

TODO: Embedded versions and tests have not been verified.

TODO: developer/server is not yet verified.

TODO: developer/js (needs a rename!) is not yet verified.

TODO: Currently, the predictive-text folder needs refactoring to move
the construction of the worker wrapper out of the Predictive Text build
and into the final assembly of keymanweb.js (as it should be valid to
run it as a separate .js anyway).

TODO: Most of the `<reference>` paths need to be re-verified. Ideally
there should be no references outside the current module for any given
.ts.

TODO: The embedded vs browser vs node (headless) builds should be tidied
up for consistency so that it's obvious what depends on what. This is
currently messiest in the predictive-text folder, where the output names
diverge from the filenames and the various files are mixed in the same
folder (as evidenced by the exclusions listed in each tsconfig.json).

TODO: `npm install` should be removed from most build scripts and
instead `npm ci` (#6196) should be run only once from the top-level
folder for any given build. I've had eliminated side-effects from the
`install` action for npm, which makes it easier to reason about state.

TODO: verify_npm_setup and related functions can probably be eliminated.

TODO: most of the build scripts should be largely eliminated for web.

TODO: several ts projects use inconsistent output folders.

TODO: it may be possible to generate a .d.ts for models/types so that
we can use a consistent reference for those as well.

TODO: build.sh, tsconfig.json should always be in the module's top-level
folder, not in a subfolder such as src (e.g. see input-processor/src,
keyboard-processor/src, web/source).

TODO: resources/web-environment should be in common/web.

TODO: other js node_modules imports should be wrapped like es6-shim.

TODO: fix up the publish code for npm modules

TODO: eliminate version numbers from package.json if possible?

Whew, that's most of the stuff I noticed!
2022-04-12 21:02:33 +10:00
Marc Durdin
ed13200423 chore(ios): cleanup 2022-04-07 09:10:49 +10:00
Marc Durdin
5fa8441217 chore(ios): use TC build counter for uniqueness in build number 2022-04-07 06:08:01 +10:00
Keyman Server
a36be74cfd chore(ios): try date format for build_number 2022-04-06 20:28:07 +10:00
Keyman Server
8ff4802f2c chore(ios): track errors 2022-04-06 19:42:55 +10:00
Marc Durdin
e50ea7e862 feat(ios): testflight builds for PRs 2022-04-06 17:26:52 +10:00
Marc Durdin
3eceea8735 fix(common): report more log detail in increment-version
Relates to #6391.

Adds some logging so we may be able to find out why we are getting
strange results for some PRs.
2022-03-24 08:52:10 +11:00
Eberhard Beilharz
364b84281c
fix(linux): Fix trigger script
The previous PR introduced a bug when run with `set -e` which this
change fixes.
2022-03-08 11:13:31 +01:00
Eberhard Beilharz
ce936ccafd
chore(linux): Debug why Beta build didn't get triggered
This change adds temporary debug code to track down why the beta
build didn't get triggered by outputting the OUTPUT string.
It also counts the lines we're outputting so that we can output
a newline in case we're not outputting anything.
2022-03-07 18:01:10 +01:00
Marc Durdin
b428a8ab97 chore(developer): Merge branch 'master' into feat/developer/node-based-debugger-server 2022-01-28 16:07:19 +11:00
dependabot[bot]
c9bc409b42
chore(deps): bump node-fetch in /resources/build/version
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-25 05:25:46 +00:00
Marc Durdin
a858c5166c feat(developer): sentry integration into server
This also tidies up the mkver.sh script and adds the
replaceVersionStrings() function to build-utils.sh for use globally.
2021-12-22 11:16:33 +11:00
Marc Durdin
4abdb64cd0 fix(ios): move sentry settings responsibility to build agent
The build agent already has the relevant `SENTRY_` environment variables
set in order to complete builds for all projects. Thus, we should
exclude these values from the xcode build. However, we need to ensure
that the `SENTRY_URL` and `SENTRY_ORG` variables are imported into the
xcode environment from the build agent environment.
2021-10-07 12:30:25 +11:00
Marc Durdin
b7a9277350 fix: help.keyman.com script file cleanup 2021-09-27 17:17:45 +10:00
Marc Durdin
d9ced1271e
Merge pull request #5738 from keymanapp/chore/common/support-forks-in-trigger-test-builds
chore(common): support forked repos when triggering test builds
2021-09-24 13:54:05 +10:00
dependabot[bot]
a7f17946be
chore(deps): bump ansi-regex in /resources/build/version
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-22 18:02:36 +00:00
Marc Durdin
200370a1bb chore(common): support forked repos when triggering test builds
This change allows branches from forked repos to trigger test builds.

Note: this will not be run automatically, but only when we manually
tell it to run in TeamCity.
2021-09-22 15:45:54 +10:00
Darcy Wong
676df4b309 chore(common): Add GitHub action to sync crowdin source 2021-09-14 07:11:07 +07:00
Darcy Wong
e881a01e72 chore(common): Update doc for updating crowdin source 2021-09-13 15:23:35 +07:00
Marc Durdin
92336aaa19 chore: fix git date param 2021-08-19 16:52:52 +10:00
Marc Durdin
2b367cf496 chore(common): more on report-history
* Adds support for reporting historical release ranges (--from, --to)
* Filters emoji out of titles
* Uses HISTORY.md formatting for report-history
2021-08-19 16:49:47 +10:00
jahorton
d69f16b75c fix(common): chmod a+x for report-history.sh on macOS, Linux 2021-08-19 08:31:02 +07:00
Marc Durdin
85c3a424a7 chore(common): history reporting fixes
1. Adds parsing of commit comments to extract PR title + number.
2. Uses `--first-parent` to exclude merges that are not to the
   base branch. This means that if you merge a PR into another, that
   child PR will not be listed in the history. From my perspective, this
   is fine -- we prefer chained PRs to be merged bottom-up rather than
   top-down, and this allows for PRs to be collapsed into one history
   entry if we really want that anyway.
3. Cleans up the git log range to work correctly regardless of your
   current branch.
4. Reads git log information from origin/base rather than base.

Note: this assumes that you have recently `git fetch origin` (or
`git pull origin`); that's up to you.
2021-08-19 11:16:13 +10:00
Marc Durdin
ff8ac35106 chore(common): add report-history.sh
Relates to #5172.

Adds a report-history.sh script to help report on what changes will be
in the upcoming build. Uses the same strategy as we currently use to
grab pull request numbers for HISTORY.md.

Also fixes duplicate entries that sometimes appear in HISTORY.md due to
merges from master into PR branches.
2021-07-30 17:35:04 +10:00
Marc Durdin
7ef751fe20 chore(common): report-history mode for version.js
Adds a report-history mode for version.js so we can examine the list of
changes that will be in the next release build for a release branch
(master, beta, stable-x.y).

How to run:

    pushd resources/build/version
    npm install
    npm run build:ts
    popd
    node resources/build/version/lib/index.js report-history -t "$GITHUB_TOKEN" -b "$base"

* Note: Always run from repo root.
* Where $GITHUB_TOKEN is a personal access token
* Where $base, if specified is the branch to validate (default: master)
2021-07-29 16:46:04 +10:00
jahorton
68f817a2af fix(common): resource-build-version yargs audit 2021-07-02 15:30:41 +07:00
Eberhard Beilharz
004ab1d48a
feat(linux): Auto-generate reference help
Closes #4419
2021-06-21 18:32:36 +02:00
Marc Durdin
9fcd72a928 chore(common): bash version for run-required-test-builds.sh 2021-06-11 09:57:06 +10:00
Marc Durdin
73c71e01a3 chore(common): update trigger definitions 2021-06-02 13:51:53 +10:00
Darcy Wong
5b847f9822 chore(web): Merge branch 'master' into feat/web/sync-s-keyman-com 2021-05-28 09:49:13 +07:00
jahorton
abc91ea257 feat(common): unprunes <kbd> styling 2021-05-27 08:55:07 +07:00
jahorton
8f1e1dc65a feat(common): offline help css 2021-05-26 15:40:45 +07:00
Darcy Wong
f08b7ed6a6 fix(web): Update script to modify sourceRoot 2021-05-26 06:48:24 +07:00
jahorton
82a70b39cf chore(ios): remove fat-framework workaround script 2021-05-24 13:54:05 +07:00
Eberhard Beilharz
52e77c4b24
chore(linux): Fix triggering of Jenkins builds for stable branch
Previously we tried to trigger on the wrong, non-existing branch
`PR-stable-14.0`.

(cherry picked from commit 748a7fa13d)
2021-04-23 10:26:43 +02:00
jahorton
e4da1768b9 chore(ios): adds Carthage workaround for Xcode 12 for CI use 2021-04-23 09:43:36 +07:00
dependabot[bot]
b537c759f9
chore(deps): bump y18n from 4.0.0 to 4.0.1 in /resources/build/version
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-31 23:59:19 +00:00
Marc Durdin
de0ccca69b chore: increment-version.sh for stable 2021-03-22 15:42:39 +11:00
Marc Durdin
3e45d9d1cb
Merge pull request #4626 from keymanapp/fix/windows/4558-context-help-links
fix(windows): context help links
2021-03-11 09:11:25 +11:00
Eberhard Beilharz
ac9a77f0da
chore(common): Update readme 2021-03-09 12:10:36 +01:00
Marc Durdin
8376eeea27 chore: add global to lua 2021-03-09 14:32:18 +11:00
Marc Durdin
9fd5e11e62 fix(windows): context help links
Fixes #4558.

This makes a number of fixes to get the context help working correctly
in Keyman 14:

1. Adds support for `redirect:` header in help .md files so that we can
   do redirects for the context content in Keyman for Windows help in the
   lua filters.
2. Renames Keyman for Windows help files to .htm, because that's what
   the .chm format is expecting, and what Delphi assumes for its .chm
   integration, and thus splits the html and htm lua filters.
3. Renames and makes more consistent the various context help pages.
4. Adds redirects for all pages that have sufficient content on other
   pages.
5. Fixes the instantiation of help in various Keyman for Windows forms.
6. Defaults to opening help from the Keyman source repo if the calling
   app is running in the source repo (this is just a development-side
   tweak that simplifies my life).
2021-03-09 12:35:43 +11:00
Eberhard Beilharz
63cefab0eb
chore(linux): Improve Sentry environment setting
When running from source we set the environment to `local` when
reporting to Sentry. This change also adds the package version and
the tier as additional Sentry tags.

This is a follow-up of PR #4581.
2021-03-04 16:01:52 +01:00