Загрузка данных


GIT_URL="https://scm.aktivco.ru/rutoken/dev/qa-dev/rtlogon_pytests.git"
GIT_USER=""          # логин GitLab (если проект ещё не склонирован)
GIT_PASS=""          # пароль/токен
PIP_INDEX=""         # пусто = pypi.org; или ваш nexus, напр: https://nexus.aktivco.ru/repository/pypi-group/simple
PROJ="$HOME/rtlogon_pytests"

echo "==================== 0. СИСТЕМА / ЗПС ===================="
. /etc/os-release; echo "  $PRETTY_NAME"
echo "  python3.9: $(python3.9 --version 2>&1)"
[ -L /etc/ima/policy ] && echo "  ЗПС policy -> $(readlink /etc/ima/policy)" || echo "  ЗПС policy: нет симлинка (выкл)"

echo "==================== 1. СЕТЬ / ДОСТУПНОСТЬ ===================="
for u in https://bootstrap.pypa.io/pip/get-pip.py https://pypi.org/simple/ http://172.16.112.215:8080/ https://builds.aktivco.ru/ ${PIP_INDEX:+$PIP_INDEX}; do
  printf '  %-45s ' "$u"; curl -sSI --max-time 8 "$u" 2>/dev/null | head -1 || echo "НЕДОСТУПНО"
done

echo "==================== 2. СИСТ. ПАКЕТЫ С ДИСКОВ ===================="
sudo apt-get install -y python3.9 git wget curl zip unzip make ca-certificates 2>&1 | tail -3

echo "==================== 3. ПРОЕКТ ===================="
if [ -d "$PROJ/.git" ]; then echo "  уже склонирован: $PROJ"
else
  if [ -n "$GIT_USER" ]; then U="https://${GIT_USER}:${GIT_PASS}@${GIT_URL#https://}"; else U="$GIT_URL"; fi
  git clone "$U" "$PROJ" && echo "  склонирован" || echo "  КЛОН НЕ ПРОШЁЛ (задай GIT_USER/GIT_PASS или склонируй вручную)"
fi
cd "$PROJ" 2>/dev/null && echo "  cwd=$PWD" || { echo "  НЕТ ПРОЕКТА — дал

echo "==================== 4. VENV(3.9) + PIP через get-pip ==============
rm -rf venv; python3.9 -m venv --without-pip venv && source venv/bin/activ
curl -sS --max-time 20 https://bootstrap.pypa.io/pip/get-pip.py -o /tmp/get-pip.py \
  && python /tmp/get-pip.py ${PIP_INDEX:+--index-url $PIP_INDEX} 2>&1 | ta
echo "  ---> $(python -m pip --version 2>&1)"

echo "==================== 5. ПРОВЕРКА WHEEL'ОВ (4 компилируемых) ========
python -m pip download --no-deps --only-binary=:all: -d /tmp/wh ${PIP_INDE
  cffi==2.0.0 cryptography==42.0.5 psutil==6.1.0 pydantic_core==2.41.5 2>&
echo "  скачано wheel'ов: $(ls /tmp/wh/*.whl 2>/dev/null | wc -l) / 4"

echo "==================== 6. УСТАНОВКА requirements.txt =================
python -m pip install ${PIP_INDEX:+--index-url $PIP_INDEX} -r requirements.txt 2>&1 | tail -15

echo "==================== 7. SDK (download_deps.py) ===================="
python download_deps.py 2>&1 | tail -8

echo "==================== 8. ПРОБНЫЙ ЗАПУСК ТЕСТОВ ===================="
python -m pytest -m local -x -q 2>&1 | tail -20
echo "==================== КОНЕЦ ===================="