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 "==================== КОНЕЦ ===================="