41 lines
1.0 KiB
Bash
Executable File
41 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
# Script for local/agent use before creating a PR.
|
||
# Installs ruff, checks, tries --fix, commits fixes, and fails if issues remain.
|
||
|
||
echo "Installing ruff..."
|
||
python -m pip install --upgrade pip --quiet
|
||
pip install ruff --quiet
|
||
|
||
echo "Running ruff check..."
|
||
if ruff check app/ tests/; then
|
||
echo "✅ ruff: no issues found"
|
||
exit 0
|
||
else
|
||
echo "⚠️ ruff: issues found — running ruff --fix"
|
||
ruff check app/ tests/ --fix
|
||
|
||
# Check if there are any changes to commit
|
||
git add -A
|
||
if git diff --staged --quiet; then
|
||
echo "ℹ️ No staged changes after ruff --fix"
|
||
else
|
||
git commit -m "style: ruff auto-fixes" || true
|
||
echo "✅ Committed ruff fixes"
|
||
fi
|
||
|
||
echo "Re-running ruff check after fixes..."
|
||
if ruff check app/ tests/; then
|
||
echo "✅ ruff: all issues fixed"
|
||
exit 0
|
||
else
|
||
echo "❌ ruff: issues remain after auto-fix" >&2
|
||
echo ""
|
||
echo "The following issues could not be auto-fixed and require manual intervention:"
|
||
echo ""
|
||
ruff check app/ tests/
|
||
exit 1
|
||
fi
|
||
fi
|