Skip to content

Для сопровождающих

Как добавить пакет?

  1. Создайте или найдите задачу в Package request.

  2. Заявите о желании сопровождать пакет.

  3. Дождитесь создания репозитория в организации aides-pkgs.

  4. Начните сборку пакета.

    Стоит обратить внимание

    Главная ветка защищена — все изменения вносятся через Pull Request.
    При открытии PR срабатывает централизованный CI: он проверяет, что пакет проходит линтер, собирается и соответствует стандартам качества.

  5. Сообщите в задаче, что пакет готов или отправьте PR в aides с добавлением пакета в repos.json

Полуавтоматическое обновление

Чтобы сократить рутинную работу, можно настроить полуавтоматическое обновление пакета.
Когда появится новая версия, в ваш репозиторий автоматически придёт Pull Request с обновлением.

Шаг 1. Подготовить пакет к автоматической проверке

Автоматическое обновление происходит с использованием утилиты stplr-spec

Примеры пакетов:

Шаг 2. Проверить настройку обновления

Для проверки используйте команды:

bash
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 сдвинется или его запустят вручную позже.

Примеры:

json
{
  "yandex-browser-stable": {
    "cron": "0 * * * *",
    "maintainer": "exampleuser"
  },
  "singularityapp": {
    "cron": "0 * * * 0",
    "maintainer": "exampleuser"
  },
  "yandex-disk": {
    "cron": "0 * 31 12 *",
    "maintainer": "exampleuser"
  }
}

Если поле cron не указано — обновления не проверяются.