Выделенный сервер для GitHub Actions

Полный прогон CI за 12 минут

Для тех, кто пишет код с AI‑агентами и часто запускает CI. Без поминутной оплаты, один прогон бесплатно

Полный прогон веб‑продукта на одном сервере

Публичный сайт, клиентский портал с админкой и бэкенд на FastAPI

12:14

Шесть задач ждали свободной памяти. Пять из них завершились раньше браузерных проверок портала

Второй проект на том же сервере, проверка PR: 12:01 при 6 640 тестах бэкенда и 311 браузерных сценариях. Время считается от запуска workflow до завершения последней задачи. Время вашего проекта покажет замер

задач в прогоне
13
тестов бэкенда
7 257
браузерных проверок
1 365
перезапусков упавших тестов
0

Когда код пишут агенты, CI запускается много раз в день

После каждого изменения агент ждёт итог полного прогона. Сервер подойдёт, если прогон длится дольше 15 минут или задачи ждут в очереди.

Ваш агент сделает замер сразу: прочитает историю запусков GitHub Actions и подготовит отчёт. В отчёте будут:

  • медиана и 90‑й перцентиль полного прогона
  • доля ожидания в очереди
  • пять самых долгих шагов
  • число запусков и сумма минут задач

Агент только читает данные GitHub Actions. Код и настройки не меняет

Перейти к инструкции замера CI

Кому подойдёт

Подойдёт

  • Агенты пишут код и запускают CI много раз в день
  • CI на GitHub Actions в приватных репозиториях
  • Стек на Linux: Python, Node.js, Playwright, Docker
  • Полный прогон длится дольше 15 минут или задачи ждут в очереди

Не подойдёт

  • Публичный репозиторий: раннер выполнит код из чужого PR
  • Сборка под macOS, iOS или Windows
  • CI на GitLab или Jenkins

От пробного прогона до приёмки

  1. Вы, агент и мы

    Пробный прогон

    Ваш агент сразу сделает замер текущего CI. Пришлите нам отчёт. Мы организуем один бесплатный прогон на нашем раннере. Сравним время с вашим CI. Доступ и удаление данных после прогона согласуем заранее

  2. Вы и мы

    Цена и оплата

    После пробного прогона согласуем объём и фиксированную стоимость работ. Вы выберете модель и оплатите счёт. Для модели «На вашем сервере» арендуйте машину у хостинга. Передайте нам доступ

  3. Вы, агент и мы

    Подключение

    Мы подготовим сервер. Ваш агент создаст одноразовый токен по инструкции «Подключение». Перешлите токен нам. Мы зарегистрируем раннеры. Затем агент переведёт тяжёлые задачи на сервер

  4. Ваш агент

    Приёмка

    Агент повторит замер на новом сервере. Затем сравнит результаты до и после подключения: время прогона, число тестов, перезапусков и падений

Под ключ или на вашем сервере

  • Один прогон бесплатноЗапустим ваш CI на нашем раннере до оплаты. Вы сравните время со своим CI. Доступ и удаление данных после прогона согласуем заранее
  • Возврат, если ускорения нетЕсли после подключения медиана полного прогона не уменьшится, вернём первый платёж. Перейти к условиям возврата

На вашем сервере

Настроим CI первых двух репозиториев на вашем сервере

80 000 ₽

разово, НДС не облагается

  • Настраиваем выделенный сервер
  • Подключаем и оптимизируем CI первых двух репозиториев
  • Проверяем результат и передаём вам настроенный CI
  • Хостинг оплачиваете отдельно, ориентир 11–14 тыс. ₽ в месяц
  • Настройку оплачиваете до начала работ
  • Запускаем за 1 день
  • Сопровождение подключаете по желанию
  • Если приёмка не покажет ускорения, вернём оплату настройки

Сопровождение вашего сервера

Для модели «На вашем сервере». Подключаете по желанию

25 000 ₽

в месяц за сервер, НДС не облагается

  • Мониторинг сервера
  • Плановые обновления программ
  • Восстановление настроенного CI
  • 5 часов изменений по вашим запросам в месяц

Ещё один репозиторий подключаем разово: 5 000, 15 000 или от 30 000 ₽ по объёму работ. Сначала зачтём включённые часы

Как считаем часы и доплатыСкрыть правила часов и доплат

Дополнительные репозитории

Подключение оплачивается один раз. Ежемесячной платы за дополнительный репозиторий нет

  • По готовой схеме

    5 000 ₽

    1 час

    Подключим готовый CI к раннеру и проверим запуск

  • С адаптацией

    15 000 ₽

    3 часа

    Настроим workflow, кэши и параллельные задачи. Проверим результат

  • Сложное подключение

    От 30 000 ₽

    По согласованной оценке

    Согласуем смету. Переработаем сборку, окружение или порядок выполнения задач

НДС не облагается. Сначала зачтём доступные часы сопровождения. Вы оплатите только остаток согласованной оценки

Часы сопровождения

  • Сначала используем доступные часы текущего месяца. За эту часть работы повторно не платите
  • Остаток согласованной оценки оплачиваете отдельно. За эту часть часы из пакета не списываем
  • Первоначальная настройка и исправление наших ошибок не расходуют часы сопровождения
  • Неиспользованные часы не переносятся на следующий месяц

Оценка и дополнительные работы

  • Стоимость и объём согласуем до начала работы
  • Дополнительная работа стоит 5 000 ₽ в час. Начинаем после согласования
  • Если мы недооценим работу, цена согласованной задачи не изменится
  • Расширение задачи и новые работы согласуем отдельно

Месячный объём

  • Количество репозиториев и месячный объём работ согласуем заранее
  • Дополнительный репозиторий не увеличивает плату за текущий сервер
  • Если понадобится ещё один сервер, согласуем его отдельно

Пример: третий репозиторий под ключ

Подключение оценили в 3 часа. В этом месяце у вас остались 2 включённых часа. Зачтём их в работу. Вы доплатите 5 000 ₽ один раз. Тариф по-прежнему стоит 45 000 ₽ в месяц

Как сервер выполнил этот прогон за 12 минут

Тяжёлые этапы получают резерв памяти перед стартом и возвращают его после завершения

Задачи ваших проектов

  • ТестыПроект А · в работе
  • СборкаПроект Б · в работе
  • Браузерные проверкиПроект А · ждёт памяти

Один сервер для всех проектов

32 ГБ памяти · SSD

Резервы памяти
А · ТестыБ · СборкаСвободно
32 потока

Без фиксированных квот на задачу

Кэши на SSD
  • Пакеты
  • Браузеры
  • Docker
  1. Резерв

    Память резервируется до старта

  2. Работа

    Проекты выполняются параллельно

  3. Возврат

    Резерв доступен другим задачам

Пример распределения. Размеры резервов условные
Подробнее о распределении ресурсовСкрыть подробности
  • Общая очередьПамять и процессор не закреплены за проектами. Если свободного резерва памяти недостаточно, тяжёлый этап ждёт в общей очереди
  • Память на время этапаЭтапы и резервы заданы в настройках. После завершения этапа его резерв возвращается в общий бюджет. Это снижает риск нехватки памяти
  • Процессор без квотЗадача может использовать все 32 потока, когда они свободны. При конкуренции за процессор тяжёлые задачи получают больший вес
  • Кэши на сервереПакеты, браузеры и образы Docker не нужно скачивать при каждом запуске. Часто используемые файлы остаются в памяти

Загрузка сервера во время прогона 12:14

Данные прогона со схемы вверху страницы

занятых потоков в пике из 32
28
занятых потоков в среднем
16
ГиБ памяти процессов в пике
8,3
задач остановлено из‑за нехватки памяти
0
резерв: портал в браузере резерв: скриншоты резерв: бэкенд резерв: остальные задачи раннеры в простое и службы занято вместе с кэшем память процессов

Память, ГиБ

бюджет резервов 26 ГиБ 1

Занятые потоки процессора

1. После сборки бэкенда сразу началась проверка скриншотов

Показать данные графикаСкрыть данные графика
ВремяРезерв, ГиБЗанято с кэшем, ГиБПроцессы, ГиБПотоков
0:016,418,30,80
1:0221,219,72,32
2:0225,822,83,810
3:0225,623,23,89
4:0325,625,47,024
5:0425,625,06,822
6:0426,024,87,326
7:0026,024,57,426
8:0126,025,17,825
9:0226,023,86,823
10:0224,719,62,810
11:0222,217,61,64
12:036,415,80,90

Один сервер на все ваши проекты

Пока один проект не запускает CI, задачи другого могут использовать свободную память и все потоки процессора.

Для нового проекта агент создаёт токен. Мы регистрируем раннеры и добавляем этапы задач в настройки. Отдельный код распределения ресурсов не нужен

На одном сервере одновременно шли полные проверки двух проектов. Прогон одного из них занял 13:36

Цена сервера не растёт с числом запусков

Справка: аренда мощностей без настройки и сопровождения. Цены с НДС

Показать сравнение с облакомСкрыть сравнение
ВариантРесурсыВ месяцВдвое больше запусков
Выделенный сервер16 ядер, 32 потока, 32 ГБ11–14 тыс. ₽Та же ценаПока хватает мощности
ВМ в Yandex Cloud32 vCPU, 32 ГБ≈36 тыс. ₽Без дискаТа же ценаПока хватает мощности
Воркеры SourceCraft4 vCPU и 8 ГБ на задачу≈30 тыс. ₽За 40 000 минут выполнения задач
Плюс лицензии участников
≈62 тыс. ₽Плюс лицензии участников
Стандартные раннеры GitHub2 vCPU и 8 ГБ на задачуПоминутноСверх объёма, включённого в тариф GitHubВдвое больше минутОплата растёт с числом запусков
Как рассчитаны ценыСкрыть пояснения

Выделенный сервер: Ryzen 9 5950X у российского хостинга. Цена зависит от скидки. Yandex Cloud: Intel Ice Lake, 1,24 ₽ за vCPU и 0,33 ₽ за ГБ в час. Расчёт на 30 дней непрерывной работы. SourceCraft: первые 3 000 минут входят в тариф. Далее 0,8 ₽ за минуту. GitHub: стандартный раннер Linux для приватных репозиториев. Конфигурации различаются по производительности

Такой же сервер можно арендовать самим. Распределитель памяти, очередь и кэши тогда настраивает и поддерживает ваша команда

Тариф «Под ключ» стоит 45 000 ₽ в месяц, НДС не облагается. В цену входят сервер, настройка и сопровождение

Замер и подключение делает ваш агент

Передайте инструкцию вашему агенту. Ему нужен доступ к репозиторию и GitHub CLI. Подойдут Claude Code, Codex, Cursor и другие агенты для работы с кодом

Агент сразу подготовит отчёт о вашем текущем CI. Он только читает данные GitHub Actions. Код и настройки не меняет

Измерь CI этого репозитория прямо сейчас по истории запусков GitHub Actions за последние 7 дней. Ничего не меняй в коде и настройках.

1. Получи список запусков за 7 дней:
   gh run list --limit 500 --created ">=ДАТА_НЕДЕЛЮ_НАЗАД" --json databaseId,workflowName,event,createdAt,conclusion
2. Получи задачи каждого запуска:
   gh api repos/{owner}/{repo}/actions/runs/ID_ЗАПУСКА/jobs --paginate
3. Для каждой задачи посчитай время ожидания в очереди (started_at минус created_at) и время выполнения (completed_at минус started_at). Отдельно выдели шаги загрузки кода, установки зависимостей, сборки и тестов.
4. В отчёте укажи число запусков, сумму минут задач, медиану и 90-й перцентиль полного прогона, долю ожидания в очереди и пять самых долгих шагов.
5. Сделай вывод, подойдёт ли выделенный сервер «Прогон». Он подойдёт, если репозиторий приватный, задачи выполняются на Linux, а полный прогон длится дольше 15 минут или задачи ждут в очереди. Для публичного репозитория и сборки под macOS, iOS или Windows он не подойдёт.
6. Сохрани отчёт в ci-measurement.md, покажи мне и предложи отправить его в Telegram @progonci.

Что важно знать до оплаты

  • Один серверПри поломке сервера проверки будут ждать ремонта. При простое дольше 24 часов по нашей вине плата за месяц уменьшается пропорционально. Резервные раннеры в облаке GitHub вы настраиваете отдельно
  • Секреты и доступРаннер видит секреты репозитория. Свой сервер оформлен на вас. Сервер под ключ выделен только для вас. Доступ к нему есть только у нас. Мы не открываем код и секреты без вашей просьбы. После окончания договора очищаем диск сервера за 3 рабочих дня
  • Сеть и очередьМощный сервер не сократит задержки сети и время ожидания. Замер покажет потери времени на этих этапах
  • Время прогонаЗдесь показаны результаты двух проектов. Время вашего CI покажет замер
  • Если ускорения нетСравним медиану полного прогона до и после подключения. Оба замера агент делает по одной инструкции на тех же репозиториях. Если медиана не уменьшится, вернём первый платёж. Это оплата первого месяца под ключ или настройки своего сервера
  • Оплата и документыМы работаем как ИП по публичной оферте. Вы оплачиваете счёт. Мы выдаём акт. Услуги не облагаются НДС. Применяем упрощённую систему налогообложения. Открыть оферту

Начните с пробного прогона

Напишите нам в Telegram. Согласуем один бесплатный прогон на нашем раннере