Какой процесс непрерывной интеграции (CI) используется на GitHub?

Что такое workflow, какой его смысл и как он используется в репозитории wine-tkg? Как автоматические билды и продуктовые артефакты связаны с этим? Почему называется артефактом? Какова роль workflow в процессе development и почему разработчики используют его в своих проектах?
  • 8 июля 2024 г. 11:12
Ответы на вопрос 2
На GitHub для непрерывной интеграции обычно используется инструмент GitHub Actions. Это сервис, который позволяет автоматизировать процессы сборки, тестирования и развертывания при каждом изменении в репозитории.

Workflow на GitHub - это набор шагов, которые выполняются при определенных событиях, например, при пуше в репозиторий или создании pull request. Workflow в репозитории wine-tkg используется для автоматической сборки и тестирования проекта, создания продуктовых артефактов (например, исполняемых файлов) и их дальнейшего использования.

Автоматические билды и продуктовые артефакты связаны с workflow таким образом, что при каждом запуске workflow происходит сборка проекта, выполнение тестов и создание конечных продуктов, которые могут быть использованы разработчиками или конечными пользователями.

Продуктовые артефакты называются так, потому что они являются результатом работы workflow и могут быть рассмотрены как "артефакты" (т.е. продукты) процесса разработки.

Роль workflow в процессе development заключается в автоматизации рутиных и ресурсозатратных процессов, ускорении развертывания и тестирования кода, обеспечении постоянной готовности проекта к деплою. Разработчики используют workflow в своих проектах, чтобы улучшить качество кода, упростить процессы разработки и обеспечить более быстрое и надежное развертывание изменений.
что это вообще за штука такая
Инструмент автоматизации, позволяющий описывать шаблоны действий в виде конфигурации и не париться за ручной запуск тестов или сборок.

Как я понимаю, это некий скрипт (исполняемый кем?), задача которого состоит просто в автоматической сборке и публикации бинарника. Но, опять же, где исполняется этот скрипт, который компилирует ПО (в данном случае вайн) из исходников - на каком-то сервере разработчика, или это гитхаб предоставляет (бесплатно?) ресурс ЦП и памяти для компиляции программ?
Скрипт, делать он может разное (что напишете), исполняется на серверах Гитхаба, стоимость и ограничения написаны на сайте .

почему некоторые разработчики начинают использовать вот такую странную систему
Потому что эта "странная система" в том или ином виде - промышленный стандарт в современной разработке.

вместо того, чтобы публиковать бинарники в releases
Конкретно эти разработчики своё решение обосновали так:
Tagged releases might still be made available here in the future, but considering the high volume of regressions upstream and Proton's QoL patches being hard enough to rebase for us to be forced into the reverts route every few months, the nightlies will be just as stable.
Похожие вопросы