# Непрерывная проверка SDR Rover Link. # # Здесь выполняются только быстрые проверки: они должны укладываться в # секунды. Лабораторные эксперименты сюда не помещаются — они длятся # минутами, требуют исходных данных из data/raw и в части случаев # подключённого PlutoSDR. Их запуск остаётся ручным. # # Оборудование конвейеру не нужно: устанавливается только расчётное # окружение, без pyadi-iio и libiio. stages: - gate - test - lint default: image: python:3.13 before_script: - python --version - python -m pip install --quiet --upgrade pip - python -m pip install --quiet -r requirements.txt cache: key: "python-$CI_COMMIT_REF_SLUG" paths: - .cache/pip variables: PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" PYTHONIOENCODING: "utf-8" # Дешёвый шлюз: синтаксис всех файлов, импорт protocol и функциональные # проверки тех лабораторных, которым не нужны данные эксперимента. # Выполняется первым, потому что ловит самые грубые поломки за секунду. быстрый-шлюз: stage: gate script: - python tools/quick_gate.py # Быстрые проверки ядра протокола. тесты-ядра: stage: test script: - python -m pytest tests/ -q --junitxml=report.xml artifacts: when: always reports: junit: report.xml expire_in: 1 week # Проверка стиля. Пока не блокирует конвейер: в лабораторных Lab001–Lab041 # принято своеобразное оформление с переносами аргументов, и приводить их # к единому стилю сейчас означало бы тронуть 50 файлов с зафиксированными # результатами. Ограничение снимается, когда договоримся о правилах. стиль: stage: lint allow_failure: true before_script: - python -m pip install --quiet ruff script: - ruff check protocol/ tests/ tools/