26 lines
708 B
Bash
Executable file
26 lines
708 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -u
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT"
|
|
|
|
status=0
|
|
json_entries=()
|
|
|
|
run_step() {
|
|
local name="$1"
|
|
shift
|
|
"$@"
|
|
local rc=$?
|
|
if [ $rc -ne 0 ]; then
|
|
status=1
|
|
fi
|
|
json_entries+=("{\"step\":\"${name}\",\"rc\":${rc}}")
|
|
}
|
|
|
|
run_step "validate-spec" env PYTHONPATH=src python3 -m iftypeset.cli validate-spec --spec spec --build-indexes
|
|
run_step "report" env PYTHONPATH=src python3 -m iftypeset.cli report --spec spec --out out --build-indexes
|
|
run_step "tests" python3 -m unittest discover -s tests -p 'test_*.py'
|
|
|
|
printf '{"ok":%s,"steps":[%s]}\n' "$([ $status -eq 0 ] && echo true || echo false)" "$(IFS=,; echo "${json_entries[*]}")"
|
|
exit $status
|