Files
Charon/tools/sourcery_precommit_wrapper.sh
2026-03-04 18:34:49 +00:00

29 lines
877 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Wrapper for Sourcery pre-commit hook.
# Run Sourcery if the CLI is available or a token is provided.
# This supports both interactive `sourcery login` and token-based CI usage.
if command -v sourcery >/dev/null 2>&1; then
exec sourcery "$@"
fi
# Try python -m sourcery as a fallback
if python -m sourcery --version >/dev/null 2>&1; then
exec python -m sourcery "$@"
fi
# If CLI not found but token env var present, try to run via 'sourcery' anyway
if [ -n "${SOURCERY_TOKEN:-}" ] || [ -n "${SOURCERY_API_TOKEN:-}" ] || [ -n "${SOURCERY_API_KEY:-}" ]; then
if command -v sourcery >/dev/null 2>&1; then
exec sourcery "$@"
fi
if python -m sourcery --version >/dev/null 2>&1; then
exec python -m sourcery "$@"
fi
fi
echo "Sourcery CLI not available and no token detected; skipping sourcery pre-commit check."
exit 0