Write a CI workflow for Windows builds
Нужно описать задачу по сборке клиента на Windows для Gitlab CI и деплоя изменений на сервер загрузок, по примеру того, как это сейчас сделано для Linux.
Для сборки десктопного клиента под Windows требуется достаточно большое количество системных зависимостей. Чтобы не тратить попусту время сейчас, предлагаю исходить из того, что сборка клиента под Windows будет происходить в shell executor, т.е., без контейнерной изоляции.
Инструкция по подготовке ОС для сборки клиента есть здесь: https://git.amazingcat.net/AmazingTime/desktop-application/-/wikis/How-to-build
Подзадачи:
- Параллельно с решением основной задачи, нужно договориться с @alexey и @alex_vyarvelsky и получить от них машину на Windows, которая будет выполнять роль Гитлаб-раннера.
- Создать джобу "release-windows", запускаемую параллельно с "release-linux" на стейдже "release". Она должна запускаться только на раннерах с тегами "windows" и "shell".
- Взяв за пример код джобы "release-linux", адаптировать его под работу на Windows. Необходимо чтобы клиент собирался, затем сборки и манифест загружались на сервер.
В процессе решения задачи, тебе придётся в каком-то виде тестировать свой пайплайн. На время разработки, ты можешь указать в пайплайне, чтобы джоба сборки клиента под Windows выполнялась при каждом коммите в твою ветку с этой задачей, это должно помочь. Если возникнут проблемы с доступом (вроде не должны) — обращайся ко мне, сделаем всё в лучшем виде.