Commit graph

1337 commits

Author SHA1 Message Date
Joshua Horton
e9ccd6fb4b
Merge pull request #11451 from keymanapp/chore/common/retry-npm-ci
chore(common): adds retry mechanism for build script npm ci calls
2024-06-06 08:10:04 +07:00
Joshua A. Horton
c91ffb95cd fix(common): better error-code capture 2024-06-05 13:03:13 +07:00
Joshua Horton
e2e8ed3491
change(common): emit error-code on retry fail
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-06-05 12:46:14 +07:00
Eberhard Beilharz
0de84b69c1
fix(common): output correct parameter values
Previously with the right number of parameters that take values and the
right order it could happen that a parameter value got replaced by an
action when the script output the parameters. This change fixes this.

Fixes: #11676
2024-06-04 16:34:03 +02:00
Eberhard Beilharz
4190510c65
fix(common): output actual script name instead of build.sh
Until now we always output `build.sh` as script name even when the
actual script was named differently. This change improves this.
2024-06-04 16:33:57 +02:00
Joshua Horton
66bdc29f6e fix(common): revert accidental test-code inclusion 2024-05-31 15:08:36 +07:00
Joshua Horton
b6a06c6626 change(common): simplifies retry command-execution syntax 2024-05-31 15:01:33 +07:00
Joshua Horton
27a959dce8 Merge branch 'master' into chore/common/retry-npm-ci 2024-05-31 14:54:24 +07:00
Joshua Horton
6251faa23d fix(common): only retry the npm ci call itself 2024-05-31 14:52:31 +07:00
Marc Durdin
b3385e4d69
chore: Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2024-05-30 12:30:33 +10:00
Marc Durdin
222ff6a182 change(common): add extra commit message hints
These changes come out of discussion in the team; we want to make use of
git trailers and improve the quality of our commit messages. Starting by
adding more hints to the commit suggestions. Includes some minor cleanup
of the hooks, and hopefully also improves tests so that they don't
interfere with interactions with non-Keyman repos.

Note: the scopes list may need maintenance as the list still includes
sub-scopes and 'oem'.
2024-05-28 10:57:46 +07:00
Marc Durdin
0404aa5db2 chore(common): update labels to include change, style
* Updates supported labels and documentation relating to `change` and
`style` commit types
* Adds `core/` label
* Reorders various lists alphabetically
2024-05-24 09:43:10 +07:00
Eberhard Beilharz
315c60afdd
Merge pull request #11003 from keymanapp/chore/standards-data
chore(common): Update standards data
2024-05-23 09:45:29 +02:00
Marc Durdin
02595229b2
Merge pull request #11461 from keymanapp/chore/windows/11316-build.sh
chore(windows): move from Makefile to build.sh
2024-05-23 14:23:05 +07:00
Marc Durdin
1e66b6ed0e
Merge pull request #11421 from keymanapp/chore/developer/11317-build.sh
chore(developer): build.sh for developer
2024-05-23 14:22:54 +07:00
Joshua Horton
92b22b1fd0
Merge pull request #11404 from keymanapp/chore/web/lm-worker-test-migration
chore(web): conversion of lm-worker browser-test for @web/test-runner use 🏃
2024-05-22 21:51:12 +07:00
Eberhard Beilharz
b208edc2ba
chore: Update standards data
`langtags.json` is directly downloaded from master branch at the GitHub repo
68cf82943c
because the version served at ldml.api.sil.org still has a duplicate.
2024-05-22 14:53:59 +02:00
Eberhard Beilharz
2dfec17102
chore(linux): Trigger GHA packaging for stable builds
(cherry picked from commit 3b3fef0e96)
2024-05-21 17:04:14 +02:00
Marc Durdin
d43b9316dd fix(windows): use run_in_vs_env to ensure signtool.exe is on path
The build agents use a fixed location for signtool.exe, but this is not
the case for other devs, so we need to grab our VS environment in order
to locate it.
2024-05-21 14:12:44 +07:00
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