You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.0 KiB
45 lines
1.0 KiB
#!/bin/bash
|
|
# Script to run linters the same way as in the GitLab CI pipeline
|
|
|
|
# Default mode is check only
|
|
FIX_MODE=false
|
|
|
|
# Parse command line arguments
|
|
while [[ "$#" -gt 0 ]]; do
|
|
case $1 in
|
|
--fix) FIX_MODE=true ;;
|
|
*) echo "Unknown parameter: $1"; exit 1 ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
# Install required packages if not already installed
|
|
echo "Checking for required linting tools..."
|
|
pip install black ruff
|
|
|
|
# Set the mode message
|
|
if [ "$FIX_MODE" = true ]; then
|
|
echo "Running in FIX mode - will automatically correct issues"
|
|
else
|
|
echo "Running in CHECK mode - will only report issues"
|
|
fi
|
|
|
|
# Run Ruff lint checks
|
|
echo "Running Ruff linting checks..."
|
|
if [ "$FIX_MODE" = true ]; then
|
|
python -m ruff check --fix .
|
|
else
|
|
python -m ruff check .
|
|
fi
|
|
|
|
# Run Ruff import sorting and Black
|
|
echo "Running style checks..."
|
|
if [ "$FIX_MODE" = true ]; then
|
|
python -m ruff check --select I --fix .
|
|
python -m black .
|
|
else
|
|
python -m ruff check --select I .
|
|
python -m black --check .
|
|
fi
|
|
|
|
echo "Linting completed!"
|