Шаблон нового проекта для библиотеки на 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
.