Для сопровождающих
Как добавить пакет?
Создайте или найдите задачу в Package request.
Заявите о желании сопровождать пакет.
Дождитесь создания репозитория в организации aides-pkgs.
Начните сборку пакета.
Стоит обратить внимание
Главная ветка защищена — все изменения вносятся через Pull Request.
При открытии PR срабатывает централизованный CI: он проверяет, что пакет проходит линтер, собирается и соответствует стандартам качества.Сообщите в задаче, что пакет готов или отправьте PR в aides с добавлением пакета в
repos.json
Полуавтоматическое обновление
Чтобы сократить рутинную работу, можно настроить полуавтоматическое обновление пакета.
Когда появится новая версия, в ваш репозиторий автоматически придёт Pull Request с обновлением.
Шаг 1. Подготовить пакет к автоматической проверке
Автоматическое обновление происходит с использованием утилиты stplr-spec
Примеры пакетов:
- Пример с
.nvchecker.toml
- Пример с
.stapler/update-check
и.stapler/update-run
- Пример с
_stapler_update_preset
Шаг 2. Проверить настройку обновления
Для проверки используйте команды:
stplr-spec update-package --only-check
stplr-spec update-package
Шаг 3. Добавить ключ cron
в pkgs.json
Откройте pkgs.json
и добавьте ключ cron
для нужного пакета, чтобы CI мог регулярно проверять обновления. Частоту выбирайте разумно:
- Если пакет критичен — можно проверять каждый день.
- Если обновления не срочные — раз в неделю или месяц.
Синтаксис в pkgs.json
Каждый ключ верхнего уровня — это имя пакета.
Для включения регулярной проверки обновлений добавьте поле cron
со значением в формате cron: минуты часы день_месяца месяц день_недели
.
Рекомендуем указывать минуты = 0
, часы = *
и нужный день недели.
Это не значит, что пакет проверяется каждый час — основной CI всё равно запускается один раз в день. Широкий диапазон (*
в часах) нужен, чтобы обновление не было пропущено, даже если CI сдвинется или его запустят вручную позже.
Примеры:
{
"yandex-browser-stable": {
"cron": "0 * * * *",
"maintainer": "exampleuser"
},
"singularityapp": {
"cron": "0 * * * 0",
"maintainer": "exampleuser"
},
"yandex-disk": {
"cron": "0 * 31 12 *",
"maintainer": "exampleuser"
}
}
Если поле cron
не указано — обновления не проверяются.