iftypeset/scripts/ci.sh
2026-01-03 20:29:35 +00:00

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