Инструкция по сдаче заданий
В рамках курса вам будут предложены домашние задания и практики. Сдача происходит с помощью Merge Request в GitLab.
Для работы с заданиями вам необходимо аутентифицироваться на https://gitlab.ct.itmo.ru через вашу учётную запись ITMO ID. В процессе нужно будет подтвердить почту — следуйте инструкциям.
После этого вам также необходимо настроить взаимодействие с репозиториями через SSH-ключи по инструкции от GitLab. В дальнейшем ВСЕ ссылки на репозитории, в частности для клонирования, должны быть в формате SSH.
Настройка репозитория с заданием
- К каждому заданию будет приложена инвайт-ссылка для создания репозитория в GitLab, после перехода по ней у вас создастся приватный репозиторий со стартовым кодом, тестами и конфигурациями. Склонируйте его и выполняйте задания в ветке
solution
. - Вместе с репозиторием автоматически создаётся Merge Request из ветки
solution
в веткуmaster
. - После этого вы можете коммитить в любые ветки кроме
feedback
, которая будет соответствоватьupstream/master
Подтягивание новых тестов и других изменений
Иногда нам приходится править какие-то проблемы в конфигурациях или добавлять новые тесты. В этом случае изменения автоматически подтянутся в master
ветку вашего репозитория на GitLab. При наличии конфликтов с веткой solution
вы должны самостоятельно их разрешить.
Сдача
Для сдачи решения необходимо сделать следующее:
- Сделайте коммит(-ы) с вашим решением. Проследите, чтобы в коммит попали только файлы с решением (при необходимости можете дополнять .gitignore), а файлы с тестами не изменились.
- Перенесите решение в ветку
solution
, если не делали сразу всё в ней. - Запушьте
solution
на удалённый репозиторий. - Проверьте, что у вас обновлены тесты и конфигурации (можно просто запустить соответствующий скрипт).
- Откройте автоматически созданный Merge Request (MR) и удостоверьтесь, что тесты в тестирующей системе прошли (в MR появится зелёная галочка, также можно посмотреть подробности, нажав по ней).
- ВНИМАНИЕ! Ни в какой момент не нужно закрывать или мёрджить MR!
- Пришлите с помощью формы заявку на проверку с ссылкой на этот MR.
- В случае первой сдачи (или если все ваши сдачи были проверены на
/
) выберите режимсдача
, иначе —правки
. - Дождитесь проверки. Исправьте замечания и, если они есть, повторите процесс.
Процесс проверки
- В процессе проверки преподаватель будет оставлять комментарии в вашем MR. Комментарии — это замечания, которые нужно исправлять.
- Некоторые комментарии могут быть помечены
[note]
, их исправление необязательно — чаще всего это предложения альтернативных решений, иногда выходящих за рамки курса. - Закрывать ("resolve") комментарии может только преподаватель.
- На каждый оставленный комментарий нужно ответить: либо кратко написать, как поправили (если комментарий однозначно указывает, как решить проблему — достаточно "fixed"), либо, если вы считаете, что замечание некорректно и вам не нужно ничего исправлять, обосновать это в ответе.
- Обратите внимание, что "fixed" хватает далеко не всегда. Часто у проверяющих возникают к вашему коду вопросы, на которые нужно ответить. Или же мы указываем на проблему в решении, которую можно адресовать множеством способов, в случае чего хочется знать, каким путём пошли вы.
- Задание считается полностью сделанным, только если не осталось ни одного неисправленного комментария кроме
[note]
. - Не стоит посылать заявку на проверку правок до того, как вы исправили все замечания (или ответили на них).
- Любые коммиты, сделанные после посылки формы и до её проверки, делаются на ваш страх и риск, так как могут произойти уже после того, как преподаватель начал проверку.