diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-12 15:05:26 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-12 15:05:26 +0300 |
| commit | 6aa19aa81090898c942f44677867b1abcdb06589 (patch) | |
| tree | 8525c98a90fbf1676145d3314909f77a69ec93c2 /src | |
| parent | c2ff4241715fe80ef33b6a6e6e0d2fa523ba0089 (diff) | |
Capture action and template setup failures for bm0
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/action.source.sh | 18 | ||||
| -rw-r--r-- | src/lib/template.source.sh | 12 |
2 files changed, 20 insertions, 10 deletions
diff --git a/src/lib/action.source.sh b/src/lib/action.source.sh index 165cb2b..aba24a8 100644 --- a/src/lib/action.source.sh +++ b/src/lib/action.source.sh @@ -23,6 +23,14 @@ run_simple_action() { esac } +run_action_body() { + if [[ "$-" == *e* ]]; then + "$@" + else + ( "$@" ) + fi +} + load_configured_action() { local -r rc_file="$1"; shift local -i status=0 @@ -115,7 +123,7 @@ run_configured_action() { return "$status" fi - generate_staged + run_action_body generate_staged status=$? if (( status != 0 )); then return "$status" @@ -128,7 +136,7 @@ run_configured_action() { return "$status" fi - refresh_splash + run_action_body refresh_splash status=$? if (( status != 0 )); then return "$status" @@ -141,7 +149,7 @@ run_configured_action() { return "$status" fi - sync_dist + run_action_body sync_dist status=$? if (( status != 0 )); then return "$status" @@ -154,7 +162,7 @@ run_configured_action() { return "$status" fi - dry_run + run_action_body dry_run status=$? if (( status != 0 )); then return "$status" @@ -167,7 +175,7 @@ run_configured_action() { return "$status" fi - print_config + run_action_body print_config status=$? if (( status != 0 )); then return "$status" diff --git a/src/lib/template.source.sh b/src/lib/template.source.sh index e29458a..58cdfa8 100644 --- a/src/lib/template.source.sh +++ b/src/lib/template.source.sh @@ -304,12 +304,14 @@ source_template_file() { return "$status" fi - { - serialize_template_render_context "$render_vars_name" + if { + serialize_template_render_context "$render_vars_name" \ + && printf 'unset BASH_ENV\n' - } > "$context_file" - status=$? - if (( status != 0 )); then + } > "$context_file"; then + status=0 + else + status=$? rm -f "$context_file" return "$status" fi |
