Commit graph

19 commits

Author SHA1 Message Date
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
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
660e98a430 feat(common): support single target for a dependency
Fixes #8397.
2023-03-09 14:54:27 +07:00
Marc Durdin
572bd74783 fix(common): builder: skip dependency build for clean action
We should not attempt to build dependencies when running `clean`. Note:
if your `clean` action requires dependencies, then something is very,
very wrong and you should fix that!
2023-03-01 08:26:30 +07:00
Marc Durdin
e6ea381aba chore(common): fix child build error handling
Fixes #8322.

This issue was arising due to subshells masking the exit code.

set -e is not really to be trusted.
2023-02-27 15:09:42 +07:00
Marc Durdin
ce864ea923 chore: update standard script prolog to use builtin instead of dirname 2023-02-22 11:04:15 +07:00
Marc Durdin
463c7ff907 chore: remove greadlink from standard script prolog 2023-02-22 10:43:06 +07:00
Marc Durdin
4d53a277f3 chore: use builder_die, remove fail 2023-02-20 09:15:38 +07:00
Marc Durdin
c0951f8597 feat(common): support custom child projects 2023-02-15 11:21:10 +07:00
Marc Durdin
f3f7e04387 feat(common): parent-child scripts for builder
Introduces the `builder_run_child_actions` function. Sample scripts in
resources/build/tests/trees.
2023-02-09 13:45:23 +07:00
Marc Durdin
463b76de5d chore(common): builder internal dependencies
Fixes the scenario where `builder_describe_outputs` is called after
`builder_parse`, so that internal dependencies will be built as
required.
2023-02-08 14:08:47 +07:00
Marc Durdin
d4cb5139da chore(common): automatically run internal dependencies on builder
Fixes #7455.

If a builder script defines outputs for configure or build actions,
builder will figure out if configure and/or build need to be run for
any dependent actions for the script.
2022-10-17 15:16:35 +11:00
Marc Durdin
30121d9793 chore(common): remove space for builder_..._action param 2022-10-12 13:28:37 +11:00
Marc Durdin
1cecb87f7f feat(common): builder dependency support 2022-10-12 12:50:26 +11:00
Joshua A. Horton
066eede2df fix(common): fixes trap error passing for npm-emitted errors 2022-10-03 12:45:57 +07:00
Joshua A. Horton
e23bf6b649 chore(common): trap test cleanup post-rebase 2022-09-21 09:40:37 +07:00
Joshua A. Horton
82ac924070 feat(common): extra test - errors within functions 2022-09-21 08:45:13 +07:00
Joshua A. Horton
c4d924aa73 chore(common): cleanup, review adjustments 2022-09-21 08:39:21 +07:00
Joshua A. Horton
636e69b841 feat(common): builder trap-functionality testing 2022-09-20 15:46:25 +07:00