3.8 KiB
Работа через fork и pull request
- После публикации преподавателем сделайте fork репозитория текущей лабораторной в своём аккаунте и clone своего fork. URL преподаватель выдаёт отдельно.
- Создайте ветку
solution/<group>-<surname>от исходной ветки skeleton. Ветка преподавателя и файлы контракта остаются основой проверки. - Для lab2–7 перенесите из своей предыдущей лабы только исходники, миграции, собственные тесты, Dockerfile и нужные конфигурации. Не копируйте
.git,.env, credentials, volumes,README.md,COURSE.md, публичныеtests/иcontracts/поверх новой версии. Сначала сравните изменения API вCOURSE.md. - Реализуйте задание, добавьте свою инструкцию запуска и заполните
REPORT.md. Публичные проверки дополняйте отдельными тестами, не ослабляйте assertions. - Выполните
make check, запустите свой стенд, затемmake test. Выполните сценарии отказов текущей лабы. Их запуск всегда явный: scaffold сам не останавливает контейнеры. - Commit и push делайте в свой fork. Откройте PR в исходный репозиторий преподавателя, заголовок:
ЛР N — Группа — Фамилия — на 3/4/5. Выберите правильную базовую ветку и заполните шаблон. - После замечаний обновляйте тот же PR. Чужие решения не переносите без указания источника и согласованных правил курса.
Платформа может называть PR «merge request» — процесс тот же. .github/ содержит необязательные удобства для GitHub; проверки локально от платформы не зависят. Инициализация и публикация исходных Git-репозиториев выполняются преподавателем отдельно.
Правила изменения skeleton
Не удаляйте обязательные endpoint, поля, рубрику и публичные проверки. Изменение контракта согласуйте отдельным комментарием/PR; обход тестов не является решением. Код приложения размещайте в src/ либо в принятой для языка структуре. Собственные тесты — student-tests/ или штатный каталог фреймворка. Ссылки на результаты проверки и команды запуска должны переживать clone на другой машине.
CI
Готовый GitHub workflow проверяет целостность контракта и синтаксис Python-проверок. Он не запускает отсутствующее приложение и не подтверждает оценку. Студент добавляет сборку своего приложения, запуск/готовность стенда и make test в отдельный job. Не используйте pull_request_target для запуска кода из fork, не выдавайте CI секреты или доступ к общему Docker-host.