#!/usr/bin/env bash
set -euo pipefail
set -x
REPO_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
cd "${REPO_ROOT}"
export PYTHONPATH="${REPO_ROOT}/src${PYTHONPATH:+:${PYTHONPATH}}"
CI_TASK=${OPS_TILELANG_CI_TASK:-all}
run_lint() {
python -m ruff check .
python -m ruff format --check .
}
run_cpu_tests() {
python -m pytest -m 'not npu and not benchmark'
}
run_wheel() {
"${REPO_ROOT}/scripts/build_wheel.sh"
}
run_npu_tests() {
"${REPO_ROOT}/scripts/run_test.sh" "$@"
}
case "${CI_TASK}" in
lint)
run_lint
;;
cpu)
run_cpu_tests
;;
wheel)
run_wheel
;;
npu)
run_npu_tests "$@"
;;
benchmark)
export OPS_TILELANG_RUN_BENCHMARK=1
run_npu_tests "$@"
;;
all)
run_lint
run_cpu_tests
run_wheel
run_npu_tests "$@"
;;
*)
echo "Unknown OPS_TILELANG_CI_TASK=${CI_TASK}. Expected: lint, cpu, wheel, npu, benchmark, or all." >&2
exit 2
;;
esac