Files

30 lines
715 B
Bash

#!/usr/bin/env bash
# agentloop gate -- one command, and the exit code IS the verdict.
#
# 0 every leg passed
# 1 a graded fault (a leg reported one)
# 2 could not grade (no python3, the package will not import, ...)
#
# Resolves its own directory, so the copy in a clone grades that clone.
#
# The last line is `exit "$rc"`, not a constant: a gate whose exit code is a
# literal cannot fail, and a gate that cannot fail is not evidence.
set -u
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
py=""
if command -v python3 >/dev/null 2>&1; then
py="python3"
fi
if [ -z "$py" ]; then
echo "COULD NOT GRADE: no python3 on PATH"
rc=2
else
"$py" "$here/check.py"
rc=$?
fi
exit "$rc"