Commit graph

469 commits

Author SHA1 Message Date
Marc Durdin
d1aef64460 chore(developer): deploy compiler messages to help site
Fixes #10889.

This involved a bit more refactoring to help-keyman-com.sh in order to
allow for multiple paths to be uploaded.

I opted _not_ to move the entire Keyman Developer documentation into
this repository, partly because a number of pages are still in PHP
rather than Markdown.
2024-03-01 11:01:47 +07:00
Marc Durdin
99e5b1951e feat(developer): publish api documentation to help.keyman.com
Relates to #10207.
2024-02-26 13:48:32 +07:00
Marc Durdin
d7411ec4c4 fix(developer): version string matches for sentry
Fixes two things:
* $VERSION_GIT_TAG was being misinterpreted by mkver as
  $VERSION + "_GIT_TAG". This has been addressed by making the $VERSION
  match the last one in the replaceVersionStrings_Mkver function, and
  also have moved to using the newer $VersionGitTag and $Environment
  vartiables instead.
* The 'dist' property was being set in sentry-cli sourcemap uploads,
  though we never set the dist prop when we initialize sentry.
2024-02-22 11:48:56 +07:00
Marc Durdin
2ce3bb4fbd chore: add from and to params to increment-version 2024-02-15 13:12:56 +07:00
Marc Durdin
fdc2cd438e chore: workaround release inc build block
Fixes #10721.

This arose partly because of the change from release- to release@ in at
17.0.30-alpha (triggered by sentry req). Will require a corresponding
patch to CI script to pass the --from and --to parameters.
2024-02-15 12:51:02 +07:00
Eberhard Beilharz
ba2db9fd58
chore(linux): Don't set VERSION_TAG to …-local in .deb packages
Previously we didn't detect that we were building a .deb package on
Launchpad or a Debian server, so we set VERSION_TAG to end in `-local`.
This change now checks the `KEYMAN_PKG_BUILD` environment variable which
will be set during .deb package builds (set in `debian/rules`). The
downside of this solution is that now `-local` also gets omitted if
we build a .deb package on a local dev machine, but that probably doesn't
happen too often, and even less often with modified source code. The
majority of builds where we want `-local` are local builds that get
installed locally, and those cases are covered by this change. And what
is more important is that for release builds we no longer append `-local`.
2024-02-08 16:45:07 +01:00
Marc Durdin
09e971d3ca chore: tweak script for stability 2024-02-01 16:16:19 +07:00
Marc Durdin
7c8003a0f7 chore(common): cancel earlier builds when new test builds triggered
Fixes #10590.

Cancels existing running or queued test builds on TeamCity when a new
build is started for the same 'branch' (aka branch or PR).

Does not touch release builds or other projects -- only touches
recognized test build configurations.
2024-02-01 16:02:23 +07:00
Eberhard Beilharz
a5f2d5fc96
fix(linux): Fix packaging GHA
For some reason with some PR builds we got an incorrect base ref. This
change makes better use of the information that GitHub provides and so
should work around the problem.
2023-11-16 22:15:25 +01:00
Eberhard Beilharz
c3750a6edc
fix(linux): Improve triggering of packaging GHA
We now pass the SHA for the base ref. Hopefully this will fix the failures
with API verification.
2023-11-14 18:50:15 +01:00
Eberhard Beilharz
0303a81eb8
chore(linux): Merge branch 'master' into chore/linux/9801_coreversion 2023-11-13 19:14:31 +01:00
Eberhard Beilharz
afc63278b8
chore(linux): Address code review comments 2023-11-13 18:14:55 +01:00
Eberhard Beilharz
5cc027b3b5
Merge pull request #9968 from keymanapp/fix/linux/trigger
fix(linux): Fix trigger for baseline tests
2023-11-08 13:44:17 +07:00
Eberhard Beilharz
71c9cda362
fix(linux): Fix trigger for baseline tests
When the baseline tests change we want to trigger a Linux build.
2023-11-08 12:26:48 +07:00
Eberhard Beilharz
32f3074273
chore(linux): Fix GHA triggering
When we build a PR on TC we use `pull/ID/head` for the build, not
`pull/ID/merge`, i.e. the tip of the feature branch and not a merge
with the base branch. This means that during the build `pull/ID/merge`
is unknown. This change modifies the trigger to use `pull/ID/head` for
GHA builds as well.

It's still a mystery why `pull/ID/merge` was known to builds in most
cases but failed for some PRs.
2023-11-08 10:42:30 +07:00
Eberhard Beilharz
0967e120d3
Merge branch 'master' into chore/linux/9801_coreversion 2023-11-04 21:49:33 +07:00
Eberhard Beilharz
8c508051b7
Merge pull request #9865 from keymanapp/chore/linux/9548_manualTrigger
chore(linux): Improve repository_dispatch 🎬
2023-11-03 10:12:07 +07:00
Eberhard Beilharz
517c300abc
chore(linux): Revert to repository_dispatch
This addresses code review comments. Also add readme how to manually
trigger a GHA build, e.g. for testing changes to the GHA.
2023-11-02 22:42:49 +07:00
Marc Durdin
0448fbd681 chore: include ci/pull-requests.inc.sh for help uploads 2023-10-31 04:50:28 +07:00
Marc Durdin
6c00656849 chore(common): unify pull-request creation scripts
Fixes #9886.
2023-10-30 06:22:52 +07:00
Eberhard Beilharz
30250e3d8d
chore(linux): Enhance GHA API check
This change adds additional checks for the symbols file:

- if a line with a method name gets changed, the package version number
  in that line also needs to be updated
- for major API changes (methods renamed or removed) the API version
  numbers needs to be incremented
- the API version numbers in the .symbols file and in `CORE_API_VERSION.md`
  need to match
2023-10-26 18:04:43 +02:00
Eberhard Beilharz
1a2a85affd
chore(linux): Use workflow_dispatch instead of repository_dispatch
This makes it possible to manually trigger workflow runs.

Closes #9548.
2023-10-26 17:16:05 +02:00
Marc Durdin
4f44ac6e2a fix: path for ESM increment-version, and exit code
* Fixes the path for the increment-version module
* Uses exit code 50 instead of 1 to indicate 'success, but no change',
  so that low-value error exit codes as used by node.js don't
  indavertently continue the build
2023-10-11 09:39:03 +07:00
Marc Durdin
e511e3910e
Merge pull request #9731 from keymanapp/chore/builder-inc-sh-cleanup
chore: clean up a few minor discrepancies in builder.inc.sh
2023-10-11 13:09:36 +11:00
Marc Durdin
b33f476c8d chore: clean up a few minor discrepancies in builder.inc.sh
- Some uses of `KEYMAN_ROOT` (not cross-repo compatible)
- `set -eu` and `SHLVL` now set there as well
2023-10-10 16:36:24 +07:00
Marc Durdin
6c944cff65 chore: Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata 2023-10-06 11:52:13 +07:00
Marc Durdin
d4e4992714 chore(common): cleanup final Typescript non-ESM metadata
Fixes #9262.
2023-10-04 12:55:51 +07:00
Marc Durdin
fbd9a4b5e8 chore(common): convert resources/build/version to ES Modules
Fixes #9677.
2023-10-04 11:50:53 +07:00
Marc Durdin
d99388fc68
Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata 2023-09-29 09:31:53 +02:00
Marc Durdin
65d95d39fc
Merge pull request #9535 from keymanapp/feat/developer/eliminate-source-info-files
feat(developer): eliminate source .model_info and .keyboard_info files 🎺
2023-09-28 10:54:08 +02:00
Marc Durdin
cc82a3cc63
Merge pull request #9536 from keymanapp/chore/npm-pack-bundling
chore: workaround npm/cli#3466 when bundling internal deps
2023-09-26 06:36:52 +02:00
Eberhard Beilharz
1e734a47f5
docs(common): Fix documentation for builder_describe_internal_dependency
Fixes #9581.
2023-09-18 18:49:04 +02:00
Eberhard Beilharz
3a042586ab
chore(linux): Exclude environment.sh from build
`environment.sh` is used only on Mac. This change modifies `build.sh`
to generate this file only when building on Mac. It also excludes
`environment.sh` from the Linux source tarball.
2023-09-12 18:25:52 +02:00
Marc Durdin
a0bdb617a0
chore(developer): Apply suggestions from code review
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-09-12 17:15:35 +10:00
Marc Durdin
0d96437cb8 chore: workaround npm/cli#3466 when bundling internal deps
Works around npm/cli#3466 when bundling internal dependencies using the
bundleDependencies package.json property.

This change works in tandem with the npm pack/publish process -- when we
run `developer/src/kmc/build.sh publish` (or `pack`), we end up with
`npm version` stomping on all our package.json files, so the repo is
dirty after this. We need a copy of the top-level package.json before
this stomping happens, in order to get a simple map of the location of
each of our internal dependencies, from the `dependencies` property (it
would be possible to figure this out with a lot more parsing of
our package.json files, but this is simpler).

This means, in future, we should avoid publishing our internal
dependencies such as those under common/ to npm, as they serve no
practical purpose there.
2023-09-01 17:48:35 +04:00
Marc Durdin
d7f73f3078 chore: workaround npm/cli#3466 when bundling internal deps
Works around npm/cli#3466 when bundling internal dependencies using the
bundleDependencies package.json property.

This change works in tandem with the npm pack/publish process -- when we
run `developer/src/kmc/build.sh publish` (or `pack`), we end up with
`npm version` stomping on all our package.json files, so the repo is
dirty after this. We need a copy of the top-level package.json before
this stomping happens, in order to get a simple map of the location of
each of our internal dependencies, from the `dependencies` property (it
would be possible to figure this out with a lot more parsing of
our package.json files, but this is simpler).

This means, in future, we should avoid publishing our internal
dependencies such as those under common/ to npm, as they serve no
practical purpose there.
2023-09-01 20:30:43 +08:00
Eberhard Beilharz
1289a54691
chore(linux): Properly treat test builds with packaging GHA
Previously GHA builds always used the "local" environment. This
change now detects test builds as well as release builds and properly
sets the environment.
2023-08-02 12:12:26 +02:00
Eberhard Beilharz
b8d0777800
chore(linux): Remove package build on Jenkins for Keyman 17 2023-08-01 15:03:47 +02:00
Eberhard Beilharz
b328d82145
Merge pull request #9221 from keymanapp/chore/linux/tests
chore(linux): Trigger Linux integration tests
2023-07-11 10:50:30 +02:00
Marc Durdin
2d8fb8cda9 chore: authenticate github request when triggering test builds 2023-07-10 09:10:04 +07:00
Eberhard Beilharz
94c0681078
chore(linux): Trigger Linux integration tests 2023-07-07 18:46:16 +02:00
dependabot[bot]
7d08b08fb2
chore(deps): bump semver from 7.3.8 to 7.5.2
Bumps [semver](https://github.com/npm/node-semver) from 7.3.8 to 7.5.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.8...v7.5.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 12:37:06 +00:00
Marc Durdin
27ee66b1e8 chore: enable common ci for web 2023-06-20 15:32:26 +07:00
Eberhard Beilharz
e0ec56aa12
fix(linux): Fix creation of markdown help files for Linux
Fixes [help.keyman.com #725](https://github.com/keymanapp/help.keyman.com/issues/725).
2023-06-13 08:41:13 +02:00
Marc Durdin
4b0f4e9c51
chore: Update resources/build/build-utils-ci.inc.sh 2023-05-31 19:12:20 +10:00
Marc Durdin
bb675730a2 fix(common): tweak pack/publish support for npm 9.5.1 and node 18.16.0
The npm version command started failing when we updated to node 18.16.0,
and it looks like it is related to the version numbers. This makes the
pack file mangling idempotent and applies it to all package.json files
in the repository.
2023-05-31 15:59:56 +07:00
Eberhard Beilharz
c61535d56a
fix(android): Fix build-utils.sh 2023-05-25 12:44:03 +02:00
Marc Durdin
97837d2021 feat(common): add builder_run_action shorthand function 2023-05-10 12:50:39 +07:00
Marc Durdin
292886479f
Merge pull request #8698 from keymanapp/chore/common/8693-set-eu-all-build-scripts
chore(common): `set -eu` in build-utils.sh
2023-05-05 13:18:52 +10:00
Marc Durdin
a1326ad47b chore(common): set -eu in build-utils.sh
Enforces -e (abort script on error) and -u (error on unset variable use)
on all scripts that source build-utils.sh. This may result in some
downstream build failures which we'll need to address before merge to
master.
2023-05-02 12:14:05 +07:00