|
25 | 25 | with:
|
26 | 26 | python-version: '3.9'
|
27 | 27 |
|
| 28 | + - name: Validate requirements.txt |
| 29 | + run: | |
| 30 | + if [ -f "requirements.txt" ]; then |
| 31 | + echo "Validating dependencies in requirements.txt..." |
| 32 | + while IFS= read -r line; do |
| 33 | + # Извлекаем имя пакета и версию |
| 34 | + package_name=$(echo "$line" | cut -d '=' -f 1 | tr -d ' ') |
| 35 | + package_version=$(echo "$line" | grep -oP '(?<===)\d+\.\d+(\.\d+)?') |
| 36 | +
|
| 37 | + # Пропускаем строки, начинающиеся с комментариев или пустые строки |
| 38 | + if [[ $package_name == \#* || -z "$package_name" ]]; then |
| 39 | + continue |
| 40 | + fi |
| 41 | +
|
| 42 | + # Проверяем, что версия существует |
| 43 | + if [ -n "$package_version" ]; then |
| 44 | + if ! pip index versions "$package_name" | grep -q "$package_version"; then |
| 45 | + echo "Invalid version specified for $package_name: $package_version. Please use an existing version." |
| 46 | + exit 1 |
| 47 | + fi |
| 48 | + else |
| 49 | + echo "Skipping version check for $package_name as no specific version is provided." |
| 50 | + fi |
| 51 | + done < requirements.txt |
| 52 | + else |
| 53 | + echo "requirements.txt not found! Skipping dependency validation." |
| 54 | + fi |
| 55 | +
|
28 | 56 | - name: Install dependencies
|
29 | 57 | run: |
|
30 | 58 | python -m pip install --upgrade pip
|
|
48 | 76 | run: |
|
49 | 77 | echo "Checking Django version..."
|
50 | 78 | INSTALLED_VERSION=$(pip show django | grep Version | cut -d ' ' -f 2)
|
51 |
| - REQUIRED_VERSION="4.2.12" # Экспериментальная версия Django |
| 79 | + REQUIRED_VERSION="4.2.4" # Вы можете изменить это на нужную вам версию |
52 | 80 | if [ "$INSTALLED_VERSION" != "$REQUIRED_VERSION" ]; then
|
53 | 81 | echo "Incorrect Django version installed: $INSTALLED_VERSION. Required: $REQUIRED_VERSION"
|
54 | 82 | exit 1
|
|
0 commit comments