Fix lint issues and improve test suite resilience
- compose.matrix.yml: add trailing newline
- compose.ftp-222*.yml: fix YAML indentation (8->6 spaces)
- entrypoint.sh.tmpl: fix SC2198 ([ -n "$@" ] -> [ $# -gt 0 ])
- All .tmpl files: migrate from {{ env }} to {{ getenv }} for gomplate v5 compat
- uploads.ini.tmpl: add {{- / -}} whitespace trimming, fix double-space typo
- tests/run.sh: only run ShellCheck on *.sh.tmpl files
- tests/test_shell.sh: gracefully skip if shellcheck not installed
- tests/test_templates.sh: remove dead render() function,
gracefully skip if gomplate not found, use set -a/. for env sourcing
- tests/test_compose_config.sh: validate override files combined
with compose.yml, skip partial snippets needing more context
- README.md: add test instructions with brew install
This commit is contained in:
+7
-14
@@ -11,27 +11,20 @@ gomplate="${GOMPLATE_BIN:-gomplate}"
|
||||
# Ensure gomplate is installed before running template tests
|
||||
require_gomplate() {
|
||||
if ! command -v "$gomplate" &>/dev/null; then
|
||||
echo "gomplate not found. Install it from https://github.com/hairyhenderson/gomplate"
|
||||
echo "or set GOMPLATE_BIN env var."
|
||||
exit 1
|
||||
echo " SKIP gomplate not found (install from https://github.com/hairyhenderson/gomplate or set GOMPLATE_BIN)"
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
render() {
|
||||
local tmpl=$1 envfile=$2
|
||||
"$gomplate" \
|
||||
--template t="$tmpl" \
|
||||
--context "_=fmt:%s" \
|
||||
--datasource "env=env://?$envfile" \
|
||||
-f "$tmpl" 2>/dev/null
|
||||
}
|
||||
|
||||
# Render a template by exporting env vars directly
|
||||
# This avoids gomplate datasource quirks with .env files
|
||||
render_via_env() {
|
||||
local tmpl=$1 envfile=$2
|
||||
# shellcheck disable=2046
|
||||
env $(xargs < "$envfile") "$gomplate" -f "$tmpl" 2>/dev/null
|
||||
set -a
|
||||
# shellcheck disable=1090,1091
|
||||
. "$envfile"
|
||||
set +a
|
||||
"$gomplate" -f "$tmpl" 2>/dev/null
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user