Commit graph

537 commits

Author SHA1 Message Date
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
Marc Durdin
8499956754
Update resources/build/test/test.sh 2023-04-29 12:58:39 +10:00
Marc Durdin
5a6caf8508 chore: move set -eu change to #8693 2023-04-28 14:48:30 +07:00
Marc Durdin
9f74e735de chore(common): fixup build scripts 2023-04-28 14:30:52 +07:00
Marc Durdin
74f9276695 chore(common): run common and resources tests
This sets us up to run all common/ and resources/ tests from a single
script, common/build.sh. This test will be run on each platform for all
changes made in common/ or resources/.

Also renamed files and paths for consistency in resources/ and updated
tests accordingly.
2023-04-28 14:07:34 +07:00
Marc Durdin
cb0c39f1aa fix(common): builder - pass deps flags to child scripts 2023-04-24 09:52:22 +07:00
Marc Durdin
57087e4cca
Merge pull request #8587 from keymanapp/fix/common/7310-npm-publish-needs-to-hardcode-dep-versions
fix(common): consolidate npm publishing
2023-04-13 18:08:30 +10:00
Marc Durdin
10a59f789d fix(common): support npm pack and consolidate npm publishing
Fixes #8586.

All npm publish actions in the repository are now run as part of the
Developer release build, hosted at present by kmc, until we setup a
higher-level build script to do it.

Adds a 'pack' action which mirrors 'publish' for all npm packages.

Removes unnecessary dev dependencies of models-templates and
models-wordbreakers from kmc-model.

Web Release build CI step has been updated to check for presence of
.build-builder.
2023-04-12 11:55:31 +07:00
Marc Durdin
8f48c59bdb fix(common): set dependency versions when publishing npm packages
Fixes #7310.
2023-04-12 10:59:16 +07:00
jahorton
ccbc1b3b51 fix(ios): fixes xcode-triggered debug, run builds by defining missing env var 2023-04-11 09:05:50 +07:00
Marc Durdin
27ce5a6f83
Merge pull request #8567 from keymanapp/docs/8542-build-utils-dependency-clarification
docs: clarify dependency meanings in build-utils
2023-04-10 14:16:56 +10:00
Darcy Wong
d2cacd58f3
Merge pull request #8543 from keymanapp/chore/android/java-11
chore(android): Update projects to use Java 11
2023-04-10 09:20:02 +07:00
Marc Durdin
95b7cb62b4 docs: clarify dependency meanings in build-utils
Relates to #8542.
2023-04-10 08:57:48 +07:00
Darcy Wong
c7e65409a3 fix(android): Move set_java_home to build-utils 2023-03-31 13:07:35 +07:00
Marc Durdin
2a871c8165 chore(developer): publish all required npm modules 2023-03-27 11:36:21 +07:00
Marc Durdin
062b947363 chore: Merge branch 'feature-kmcompx' into chore/merge-master-into-feature-kmcompx-a17s9 2023-03-23 10:08:59 +07:00
Marc Durdin
549a8e009e chore(common): define BUILDER_CONFIGURATION env var 2023-03-23 09:21:55 +07:00
Marc Durdin
48bc338f26 chore: Merge branch 'feature-kmcompx' into chore/kmcompx-master-merge-a17s9 2023-03-21 13:51:25 +07:00
Marc Durdin
7cd6b00946 chore(common): prevent multiple npm ci runs in child scripts
Fixes #8471.

Ensures that `npm take-forever` (aka `npm ci`, `npm install`) only runs
once during a parent/child build script run.

Note that this also works even where build scripts manually call other
build scripts (e.g. input-processor as it is currently calling kmc
build manually) -- though this is not a recommended practice.
2023-03-21 11:08:22 +07:00
Marc Durdin
d1c8061b5f chore: Merge branch 'feature-kmcompx' into chore/merge-master-into-kmcompx 2023-03-16 12:29:17 +07:00
Marc Durdin
5eee05f16f chore(common): add common test build configurations 2023-03-14 12:40:42 +07:00
Marc Durdin
534bd2a54b
Merge pull request #8416 from keymanapp/chore/common/build-script-performance
chore(common): build script performance improvements
2023-03-14 15:41:32 +11:00
Marc Durdin
3302abaf73 chore(common): use builder_trim instead of trim, _builder_trim 2023-03-13 09:53:43 +07:00
Marc Durdin
350808bd5d chore(common): fixup tests and various typo tweaks
When running tests, discovered a number of typos in builder.inc.sh.

Also fixup pathing for builder include for all scripts under resources/
to ensure that we can maximize performance.
2023-03-13 09:43:09 +07:00
Marc Durdin
eb344c235f chore(linux): fixup build-utils ref in gha workflow 2023-03-13 08:43:50 +07:00
Marc Durdin
f41922d749 docs: build-utils standard environment 2023-03-13 08:30:38 +07:00
Marc Durdin
92ed99c4d6 chore(common): build script performance improvements
Improves build script performance by:
* using built-ins wherever possible (e.g. string splitting)
* eliminating redundant code
* using absolute (to $KEYMAN_ROOT) rather than relative paths to avoid realpath
* removing unnecessary `npm run` calls

BEFORE                         | AFTER
-------------------------------|----------------------
time ./core/build.sh --help    |
real    0m2.116s               | real    0m0.874s
user    0m0.578s               | user    0m0.198s
sys     0m0.984s               | sys     0m0.289s
-------------------------------|----------------------
time ./web/build.sh --help     |
real    0m3.523s               | real    0m0.757s
user    0m1.166s               | user    0m0.320s
sys     0m2.273s               | sys     0m0.455s
-------------------------------|----------------------
time ./web/build.sh -d         |
real    1m34.750s              | real    0m59.974s
user    0m9.721s               | user    0m6.284s
sys     0m19.652s              | sys     0m13.202s

@keymanapp-test-bot skip
2023-03-13 07:18:09 +07:00
Darcy Wong
45c4e6aca9
Merge pull request #8386 from keymanapp/refactor/common/build-help
refactor(common): Make build-help into helper functions
2023-03-10 14:41:10 +07:00
Darcy Wong
3ef331a87e refactor(common): Update to build_help_html params 2023-03-10 12:49:37 +07:00
Darcy Wong
413e77e2ae fix(common): Start adjusting parameters 2023-03-10 10:07:47 +07:00
Darcy Wong
247dab8fc3
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-03-10 09:40:28 +07:00
Marc Durdin
660e98a430 feat(common): support single target for a dependency
Fixes #8397.
2023-03-09 14:54:27 +07:00
Marc Durdin
ef80f0f6b5 chore(developer): shared meson config for kmcmplib 2023-03-09 12:14:15 +07:00