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

#!/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!"