чиним скрипт сборки и тестирования из CI

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

чиним скрипт сборки и тестирования из CI

Сообщение БудДен » 11.10.20 15:45

Подзадачи:
  • ✓ научиться компилировать собирать в обычном дереве, а не так, как в CI, когда исходники отдельно клонируются в другое место.
  • ✓ научиться линковать (этого вообще нет)
  • ✓ где-то брать original для пересборки (видимо, это будет 32-разрядный линукс).
  • ✓ понять, что есть сборка для тестов и научиться её собирать (отдельной сборки нет, модуль тестового движка входит в обычную сборку)
  • ✓ запустить тесты в обычном дереве
  • ✓ понять, как изучать падения тестов
  • ✓ сделать всё то же самое для ЯОС
Последний раз редактировалось БудДен 17.10.20 16:19, всего редактировалось 4 раза.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: чиним скрипт сборки и тестирования из CI

Сообщение БудДен » 11.10.20 15:55

Подзадача про сборку в основном дереве - в Linux (во всяком случае, в программе ./origin) понимается переменная окружения AOSPATH - она должна показывать путь к исходникам (можно относительно текущей директории.

--path - куда собирать

В целом команда выглядит так:

Код: Выделить всё

 AOSPATH=../../../source ./oberon Release.Build --path=Linux64/ --build Linux64
 
Но где же здесь команда линковки? Её нет, значит, наша задача ещё увеличивается в размере.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: чиним скрипт сборки и тестирования из CI

Сообщение Павиа » 11.10.20 21:57

проект - затея
репозитарий - хранилище затей
коммит - правка.
original - в переводе источник.

https://habr.com/ru/company/itsumma/blog/443490/

Считаю что правки должны одобряться автоматически. Да это анархия. Но таков путь открытого софта.
По крайней мере это решит проблемы умирания технологии.
где-то брать original для пересборки (видимо, это будет 32-разрядный линукс).
Не помню точно откуда это. Но точно уверен что Вы сейчас копируете устаревшие технологии.

Сейчас делается так идем на githab. Создаем хранилище под вашу затею. Пишем скрипт для CI в который указываем где брать образ с гостевой ОС для сборки и тестирования.
Образ создаем сами заводим харнилище для затеии со скриптом сборки образа. Свой образ для тестов собирать будем на основе образа из https://hub.docker.com там есть образ с Убунтой или Дебианом и даже Виндоус. В наш скрипт сборки образа прописываем нужный софт. Указываем какие программы должны скачаться и откуда и какими командами из установить. Созданный образ размещаем на gitlab или на hub.docker.com его и указываем в качестве источника для тестов. Это позволит нам ускорить процесс запуска, тестовые сервера будут на тест выкачивать готовый образ вместо того чтобы выкачивать и ставить программы.

Если вы работает под Виндоусом, то образ тестируем и отлаживаем на https://labs.play-with-docker.com

Настраиваем CI гитхаб А2ОС чтобы тот при приходе правок запустил сборку. Сборка запускается на серверах гитхаба. Он предоставляет бесплатный ресурс в размере примерно 800 минут на месяц. Сервера разные можно указать и АРМ.

Немножко ссылок правда я сижу на другом стеке технологий
https://hub.docker.com/_/microsoft-windows
https://habr.com/ru/company/pvs-studio/blog/458072/
https://github.com/magicxor/radstudio-docker
https://ealebed.github.io/posts/2017/gi ... ab-ci.yml/
https://coderun.ru/blog/deplojj-php-saj ... -khosting/
https://github.com/smarkets/marge-bot

https://habr.com/ru/post/344324/
https://habr.com/ru/company/ruvds/blog/439980/

gitignore
https://www.toptal.com/developers/gitignore

Официальные доки
https://docs.gitlab.com/ee/user/project/
https://docs.gitlab.com/ee/user/project/deploy_tokens/
https://docs.gitlab.com/ee/ci/yaml/README.html

Загрузка реализа
https://stackoverflow.com/questions/290 ... -in-gitlab
https://docs.gitlab.com/ee/ci/examples/ ... EADME.html

докер и гитлаб
https://stanislas.blog/2018/09/build-pu ... gitlab-ci/

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: чиним скрипт сборки и тестирования из CI

Сообщение БудДен » 12.10.20 00:18

Названия хорошие, особенно коммит свежим повеял. Я его думал "записью" обозвать, т.к. это "запись в журнале изменений", да и просто "запись в базу истории". Надо бы было словарь доделать, но увы...

Насчёт CI от гитхаба подумаю, возможности интересные. Пока нужно хотя бы какие-то тесты научиться запускать, пусть в полуручном режиме. Потому что в A2 хоть какая-то тестовая сюита есть (убогая, на одной платформе), но она есть. А в ЯОС нет никакой. На первом этапе достаточно просто скрипта, который локально запускается и выдаёт какой-то итоговый отчёт.

Ответить