Skip to content

Latest commit

 

History

History
56 lines (33 loc) · 4.11 KB

LabInstructions.md

File metadata and controls

56 lines (33 loc) · 4.11 KB

Требования к оформлению лабораторных работ

Общие положения

Все лабораторные работы должны быть оформлены в одном приватном репозитории на GitLab. Формат именования репозитория: cpp-nsk-YYYY-SURNAME (например: cpp-nsk-2022-Ivanov).

Сразу после создания репозитория на GitLab, требуется закрыть ветку master для прямых пушей (о том, как это сделать). Выставляете для этой ветки следующие настройки:

  • Branch: master (или main)
  • Allowed to merge: Developers + Maintainers
  • Allowed to push: No One

Также, следует добавить пользователей ivafanas и Emorh в репозиторий как разработчиков (о том, как это сделать); Project Access установить в Developer)

Разработка каждой лабораторной работы ведётся в отдельной ветке, формат именования которой: task-lab[N]-[lab-name] (например: task-lab1-caesar-crypt). Лабораторная работа оценивается исходя из кода, содержащимся в мастере. Итоговый код попадает в мастер только после прохождения ревью. Информацию о работе с ревью вы можете найти в соответствующей главе.

Правила оформления лабораторных работ

Под каждую лабораторную работу в директории репозитория заводится отдельная директория. Формат именования: Lab[N] (например: Lab1)

Наличие исходного кода внешних зависимостей (таких, как дополнительных библиотек, например GoogleTest) в merge request’ах не допускается.

Прогон приёмочных тестов.

Инструкции по запуску приёмочных тестов можно найти в папке задания в docker/README.md. В общем они сводятся к следующему:

  • Установить docker, если ещё не.

  • Собрать контейнер с инструментами:

    docker build -t cpp_shad_testing/cpp_shad_testing:1.0 -f Dockerfile .
    
  • Запустить контейнер:

    docker run -it --rm --name=cpp_shad_testing --mount type=bind,source="${PWD}/..",target=/src cpp_shad_testing/cpp_shad_testing:1.0 bash
    
  • В контейнере запустить тесты:

    cd /src/docker
    python3 run_tests.py
    

Работа с ревью на Gitlab

Для того, чтобы у проверяющих была возможность провести ревью вашего кода, вам потребуется создать т.н. Merge Request из вашей рабочей ветки (task-lab[N]-[lab-name]) в master (о том, как это сделать). Merge request назначайте на ivafanas.

После этого, проверяющие либо одобрят ваш Merge Request, либо оставят какие-либо комментарии к коду для исправления.

Задание считается засчитанным, когда исправлены комментарии от всех проверяющих и merge request смержен в master.

Обратите внимание на то, чтобы Merge Request был создан именно из вашей рабочей ветки (Source branch) именно в master (Target branch).