Шаблон нового проекта для библиотеки на OneScript
Команда SilverBulleters на стриме Инженерные практики в OpenSource на GitHub. Часть I - Библиотека на OneScript разобрала как использовать этот шаблон для библиотек OneScript.
Для автоматизации рутинных и скучных действий используется GitHub Actions. Автоматизировано следующее:
- Запуск тестов
- Запуск анализа в SonarQube и сбор покрытия кода
- Загрузка артефактов в релиз GitHub и публикация пакета в хабе hub.oscript.io
Перед началом запуска workflow нужно настроить секреты в проекте (Settings -> Secrets).
Нужны следующие переменные:
SONARQUBE_HOST- ссылка на сервис SonarQube. Например:https://open.checkbsl.org/.SONARQUBE_TOKEN- токен доступа на сервис SonarQube. Генерируется на странице профиля в SonarQube.OSHUB_TOKEN- токен авторизации на GitHub, который подтверждает право пушить в организациюoscript-library.
В блок входит:
- Тестирование testing.yml
- Анализ качества кода qa.yml
В текущем workflow изначально ничего менять не нужно. По умолчанию:
- Сборка на Ubuntu
- Версия OneScript 1.4.0
В текущем workflow нужно поменять следующее:
- Фильтр по названию основного проекта. В строке
if: github.repository == 'owner/project'заменитьowner/projectна адрес основного проекта. Например:oscript-library/gitsync.
Остальное по умолчанию как в testing.yml. Не стоит забывать что нужно предварительно заполнить секреты SONARQUBE_HOST и SONARQUBE_TOKEN.
И последнее. В файле sonar-project.properties нужно сменить ключ и название проекта для SonarQube.
В блок входит release.yml:
- Обновление
Assetsв новом / измененном релизе. - Публикация пакета в хабе hub.oscript.io.
В текущем workflow нужно поменять следующее:
- В строке
PACKAGE_MASK: project-*.ospxзаменитьproject-*.ospxна маску нового пакета. Например:gitsync-*.ospx.
Остальное по умолчанию как в testing.yml. Не стоит забывать что нужно предварительно заполнить секреты OSHUB_TOKEN.