Commit graph

1368 commits

Author SHA1 Message Date
Marc Durdin
8b2070c339 chore(developer): minor cleanup on scripts
Additional shared script resources for Developer and Windows,
refactor of a code signing function, refactor of clean step in build.sh.
2024-05-20 06:35:11 +07:00
Marc Durdin
8b6d6b0618 chore(developer): cleanup on build scripts
A round of cleanup and consistency for Developer build scripts.
2024-05-20 06:35:05 +07:00
Marc Durdin
4e679dcab4 chore(developer): SIGNTIME env var support
Also some more script cleanup and ensure common/core packages are also
published.
2024-05-20 06:35:02 +07:00
Marc Durdin
ee0fc0ce14 chore(developer): cleanup npm publish
Use a new flag `--npm-publish` in conjunction with `publish` action,
so that the default will always be to `npm pack` if the new flag is not
specified. This flag is also guarded in the actual npm publish code to
ensure that it can only run in the appropriate CI alpha/beta/stable
environment, and not in local or test.

This then also removes the separate `pack` action.

Also removes legacy boilerplate from a number of build scripts.
2024-05-20 06:34:57 +07:00
Marc Durdin
fa57d5c674 chore(developer): final work on build.sh for developer
Now builds from a clean repo:

  developer/src/build.sh configure build test publish

* Splits kmbrowserhost into kmdbrowserhost for Developer; this means
  that Developer Browser Host now inherits the Developer settings rather
  than the Keyman for Windows settings, and simplifies distribution and
  management. The only difference between the two is in the startup code
  so this seems like a good split.

* Cleanup of various build scripts and dependencies.
2024-05-20 06:34:53 +07:00
Marc Durdin
41df6d1cd7 chore(developer): refactor remaining build scripts
This finishes the changes for all build infrastructure for Keyman
Developer to use build.sh.
2024-05-20 06:34:50 +07:00
Marc Durdin
86c62ff36c chore(developer): transition remaining projects to build.sh
Relates to #11317.

All projects now have a build.sh. Still need to work on inst/, remove
old Makefiles, and update CI.
2024-05-20 06:33:51 +07:00
Marc Durdin
7ce07c71be chore(developer): move to build.sh for setup
Relates to #11317.

Initial baby steps for configuring build environment for Delphi and VC++
within build.sh without needing to call out to batch files.

Proof-of-concept build.sh for setup.dpr.
2024-05-20 06:33:48 +07:00
Marc Durdin
296d16eb04 fix(common): properly quote builder_run_action call
The call to the command listed for `builder_run_action` was not properly
quoted, which meant that quoted parameters would have been corrupted,
for example:

    builder_run_action clean   rm -rf "temp folder/"

Would have run:

    rm -rf temp folder/
2024-05-20 06:30:16 +07:00
Marc Durdin
a0b15be300 fix(common): calculate already-build dependency targets correctly
When using module:target style dependencies, Builder would not track the
individual targets within the module, causing only the first target to
be built; subsequent dependency targets within that module would be
treated as already built.

This change means that builder will track individual targets within
the dependency. However, it is possible for targets to be built multiple
times if there a dependency listed for the entire module as well as for
the individual target within dependency, as in the following example,
where building project1 and project2 in one command would cause
module:mytarget to be built twice.

    builder_describe project1 \
      @/module

    builder_describe project2 \
      @/module:mytarget

This scenario should not break builds as they any configure+build
actions should be idempotent, but it could cause builds to be a little
slower, so should be corrected if identified. I do not currently plan to
further modify the dependency calculations to cater for this scenario.

Finally, if :mytarget is a child build, it is better to reference the
child module directly than the parent's target, for example:

    builder_describe projec1 \
       @/module/mytarget
2024-05-20 06:20:06 +07:00
Darcy Wong
c9cbc851b7
Merge pull request #11399 from keymanapp/chore/common/min-ver-sh
chore(common): Auto-generate minimum-versions.md from min-ver.sh
2024-05-17 11:22:25 +07:00
Joshua Horton
e382dddb5b
chore(common): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-05-16 16:03:14 +07:00
Joshua A. Horton
470588933e chore(common): adjustments per code review 2024-05-15 14:26:27 +07:00
Joshua Horton
d6ea20f520
Merge pull request #11319 from keymanapp/chore/web/consistent-npm-types
chore(web): updates most @types/node dependencies, makes them consistent 🏃
2024-05-15 14:10:35 +07:00
Joshua A. Horton
268af84710 change(web): call playwright install in project-specific configure step 2024-05-15 12:26:17 +07:00
Joshua A. Horton
5a0e66ce65 chore(web): adds retry mechanism for build script npm ci calls 2024-05-15 12:12:58 +07:00
Marc Durdin
1643c1d424 chore: Merge branch 'master' into chore/merge-beta-into-master 2024-05-15 10:15:12 +07:00
Marc Durdin
9c273cfbc9 chore: stable-17.0 2024-05-15 10:08:03 +07:00
Marc Durdin
b7c3d65702 chore(common): update builder docs 2024-05-13 15:20:43 +07:00
Darcy Wong
a30807e3aa chore(common): Move template to /docs/ too 2024-05-13 11:36:23 +07:00
Darcy Wong
439dbeb7d6 chore(common): Move minimum-versions.md to /docs/ 2024-05-13 11:30:26 +07:00
Darcy Wong
947e931e55 chore(common): Rename min-ver.sh to publish-minimum-versions.sh 2024-05-13 10:23:01 +07:00
Joshua A. Horton
76984e83d6 chore(web): removes playwright install-deps command from std script 2024-05-10 09:54:33 +07:00
Joshua A. Horton
d6fb99f0c4 chore(web): adds extra call needed on Linux BAs 2024-05-10 09:20:00 +07:00
Marc Durdin
d7cafae5ed feat(common): improve builder parameter passing for child and dep builds
Fixes #11408.
Fixes #11394.
2024-05-09 13:54:17 +07:00
Joshua A. Horton
9996cd5ae3 chore(web): configure now includes setup of testing environment 2024-05-09 09:18:03 +07:00
Darcy Wong
90a37de5fe fix: generate table and append to minimum-versions.md.in 2024-05-09 08:34:42 +07:00
Darcy Wong
15a0e36372 chore(common): Tweak for loop 2024-05-09 08:30:16 +07:00
Darcy Wong
326090b561 chore(common): Generate min-ver.md 2024-05-09 08:30:15 +07:00
Darcy Wong
134ecbe608 chore(common): List documentation to update 2024-05-09 08:30:15 +07:00
Darcy Wong
f799adc36c chore(common): Add minimum-versions.md 2024-05-09 08:30:15 +07:00
Eberhard Beilharz
4142187f21
chore(common): Rename variable 2024-05-08 10:56:20 +02:00
Eberhard Beilharz
096a011faf
chore(common): Apply suggestion from code review 2024-05-08 10:55:08 +02:00
Eberhard Beilharz
d00ef82369
chore(common): Apply suggestions from code review 2024-05-07 16:05:49 +02:00
Eberhard Beilharz
29952f272d
Update resources/build/minimum-versions.inc.sh
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2024-05-07 15:57:41 +02:00
Joshua A. Horton
01d0019d86 chore(web): removes package.json references to old @npm/types versions 2024-05-07 14:38:41 +07:00
Eberhard Beilharz
6f7acf8ace
chore(common): Add minimum-versions.inc.sh
This file contains the minimal required versions as discussed for
Keyman 18.

Implements #11371.
2024-05-06 17:19:19 +02:00
Marc Durdin
c997965d21
Merge pull request #11329 from keymanapp/chore/common/11324-this-script-path
chore(common): maintenance on build scripts - cd
2024-05-04 09:15:58 +10:00
Marc Durdin
29f6204e45 chore(common): rename build-utils.md to builder.md 2024-05-03 05:58:06 +07:00
Eberhard Beilharz
51297f538a
fix(common): Fix colorization of help output of builder script
This fixes the use of colors in the help output when `builder_term` is
used inside of `builder_describe` (e.g. `web/test.sh --help`). Previously
the escape sequences were not interpreted but directly output.
2024-05-02 15:23:20 +02:00
Marc Durdin
41af90053e chore(common): reset KEYMAN_ROOT if not readonly
This prevents issues where Windows-style path pollutes path strings
with $KEYMAN_ROOT variable. It typically will only be readonly if we are
setting the variable in our own scripts
2024-05-02 15:54:34 +07:00
Marc Durdin
58db259fd3 chore(common): typo in test 2024-05-02 15:54:34 +07:00
Marc Durdin
c921881a19 chore(common): typo in include 2024-05-02 15:54:33 +07:00
Marc Durdin
cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00
Marc Durdin
0f390d47cc chore(common): maintenance on build scripts - cd
Fixes #11324.

* Always `cd "$THIS_SCRIPT_PATH"`
* Remove unnecessary `cd` from all build.sh
* Remove unnecessary `set -eu` from all build.sh (and `# set -x`)
* Replace old build-utils.sh incantation in a few build.sh scripts
2024-05-02 15:54:29 +07:00
Marc Durdin
f119682cf0
Merge branch 'master' into chore/a18s1-merge-beta-into-master 2024-05-02 14:48:58 +10:00
Marc Durdin
f41d1ad178
Merge pull request #11302 from keymanapp/chore/ios/10671-xcode-15-build
chore(ios,mac): support build on Apple Silicon using Xcode 15.3
2024-05-02 14:31:08 +10:00
sgschantz
e7b2855baa chore(ios): change from set -eu to set -e
Ignore unbound variables for now to get past script failure
2024-04-30 10:09:18 +07:00
sgschantz
fbd4367f2b chore(ios): create script to upload sentry debug symbol file
Wrap call to script with xcode-wrap.sh to retain env
2024-04-30 08:04:43 +07:00
sgschantz
ec64a98562 chore(ios): modify version scripts
Wrap scripts for FirstVoices so that environment variables are retained
2024-04-29 15:52:00 +07:00