tempus.build · managed runners для GitHub Actions
CI дешевле.
Меняется одна строка.
Тот же набор инструментов и тот же размер машины, что у ubuntu-latest, — по 0,004 $/мин вместо 0,006 $, с посекундной оплатой, на bare-metal-машинах AMD Ryzen в ЕС. Нужна скорость — 4core: вдвое больше vCPU, на реальных пайплайнах до 5×, сильнее всего на компиляции, тестах и сборке образов.
от 0,004 $/мин, списание посекундно, без подписки · 5 $ на старте (1 250 минут 2-core), карта не нужна · приватные репозитории GitHub-организаций
jobs: build: -runs-on: ubuntu-latest +runs-on: tempus-ubuntu-24.04-2core Текст ролика
Семьдесят пять секунд работы — а в счёте две минуты. И сборки ещё и тормозят.
Знакомьтесь: tempus.build. Замените одну строку.
Установите GitHub App и замените метку в runs-on. Остальное — как было.
Платите за секунды, а не за округлённые минуты. Четыре десятых цента за минуту вместо шести.
Списываются только фактические секунды.
Задайте лимиты расходов — и счёт под контролем.
Та же сборка на четырёх ядрах — примерно вдвое быстрее, по нашей оценке. На тяжёлых пайплайнах — до пяти раз.
А время до и после видно по каждому перенесённому job-у.
Каждый job — в своей micro-VM: без общего ядра, без остатков после job-а, без движения по сети вбок.
Замените одну строку. Остальное проверьте сами. Пять долларов на старте, карта не нужна. tempus.build.
01 преимущества
Чем отличается от GitHub-hosted и своих раннеров
-
01
Платите за секунды, а не за счёт в конце месяца
Job на 75 секунд стоит 75 секунд, а не 2 минуты. Баланс предоплатный, подписки нет: расходы ограничены балансом и бюджетами организации.
-
02
Быстрее на тяжёлых задачах
4core: 4 vCPU и 16 GB вместо 2 vCPU и 8 GB у ubuntu-latest на приватных репозиториях, bare-metal AMD Ryzen и кеш образов и пакетов в том же регионе — подключается без изменений в workflow: до 5× на реальных пайплайнах.
-
03
Каждый job — в своей VM
Каждый job получает отдельную изолированную VM, а не контейнер в shared-окружении — она создаётся под job и уничтожается после завершения. Образы раннеров — open source: окружение можно проверить, а не принимать на веру.
-
04
Свои раннеры держать не нужно
Образ, еженедельные патчи, изоляция и железо — на нас. Вы меняете runs-on, а не поддерживаете парк машин.
02 как это работает
Одна строка в workflow
Никакой миграции, агентов, прокси и дополнительной конфигурации: замените значение runs-on — остальной workflow остаётся как был. Уйти можно так же: вернуть ubuntu-latest.
jobs: build: -runs-on: ubuntu-latest +runs-on: tempus-ubuntu-24.04-2core steps: - uses: actions/checkout@v4 tempus-ubuntu-24.04-2core · 0,004 $/мин
build 3m 47s · 227 с −0,015 $
test 6m 12s · 372 с −0,025 $
lint 47s · 47 с −0,003 $
Длительности jobs — для примера, списания — арифметика по прайсу: 227 секунд по ставке 0,004 $/мин = 0,015 $.
// compatibility
Внутри — Ubuntu 24.04, привычные actions из marketplace работают без изменений.
// setup
Вход — через GitHub, подключение — через GitHub App с минимальным набором прав. App ставится на организацию и только на те репозитории, которые вы выберете.
// scope
Сейчас — приватные репозитории в GitHub-организациях, Linux x64, размеры 2core и 4core. Личные аккаунты, публичные репозитории, ARM, Windows и macOS пока не поддерживаются.
Текст ролика
От входа до первого джоба на tempus — за несколько минут.
Откройте app.tempus.build и войдите через GitHub.
Раннеры работают в GitHub-организациях — подойдёт и бесплатная. Нажмите «Install on an organization».
На GitHub выберите организацию и нужные репозитории — и установите приложение.
Вернитесь в tempus: рабочее пространство готово за несколько секунд.
Вот сколько стоит ваш CI и сколько можно сэкономить.
На обзоре — чек-лист: приложение установлено, репозитории подключены, а на балансе уже пять долларов. Карта не нужна.
Остался один шаг: в воркфлоу замените runs-on на метку tempus и отправьте коммит.
Если проверяете воркфлоу через actionlint — добавьте метки tempus в его список разрешённых.
Джоб запускается на раннере tempus — за ним можно следить вживую.
Готово. Настройка завершена.
И каждый джоб оплачивается посекундно.
Ваш первый джоб уже на tempus. Остальные воркфлоу переведите так же. tempus.build.
03 безопасность
Не верьте на слово — проверьте
-
runner-images
Образ раннера — открытый код с подписью
Образы, в которых выполняются ваши jobs, собираются в публичном репозитории под Apache-2.0. Каждый релиз подписан cosign (keyless) и опубликован с SBOM и SLSA provenance; база закреплена по sha256-digest, actions — по SHA. Что внутри среды исполнения — вопрос не доверия, а проверки.
-
status
Статус и инциденты — публично
Доступность сайта и история инцидентов — на публичной статус-странице: что сломалось, когда и как чинили — видно всем, а не только нам. Мониторинг дашборда и раннеров добавляем.
-
isolation
Отдельная VM на job и еженедельные патчи
Каждый job выполняется в одноразовой изолированной VM — ничего из окружения job-а его не переживает. Образ пересобирается еженедельно со свежими apt-патчами; сборка с устранимыми HIGH и CRITICAL в пакетах ОС не выходит.
04 скорость
Оценка — 1,8–2,5×, на тяжёлых пайплайнах больше
На 4core для типичного workflow ожидаем 1,8–2,5×: его дают 4 vCPU вместо 2 у стандартного ubuntu-latest на приватных репозиториях, bare-metal AMD Ryzen и кеш зависимостей в том же дата-центровом регионе, что и раннеры. На реальных пайплайнах с компиляцией, тестами и сборкой образов видели и до 5×. Но это оценка, а не результат замера — точную цифру покажет ваш собственный пайплайн.
Замерьте ускорение на своих workflow: 5 $ на старте — это 625 минут работы 4-core раннера
-
было: runs-on: ubuntu-latest
стало: runs-on: tempus-ubuntu-24.04-4core
-
было: 2 vCPU · 8 GB
стало: 4 vCPU · 16 GB
-
было: облачная VM
стало: VM на bare-metal AMD Ryzen
-
было: Docker и apt из интернета
стало: кеш в том же регионе
-
было: округление до минуты
стало: посекундная оплата
Больше всего выигрывают компиляция, тесты и сборка образов.
05 цены
Платите за секунды, а не за округлённые минуты
Ставка в таблице — за минуту, списание — посекундное. Job на 3 минуты 12 секунд по ставке 0,004 $/мин стоит 0,013 $ — а не 0,016 $, как вышло бы с округлением вверх до минуты.
| конфигурация | ресурсы | заменяет | $/мин |
|---|---|---|---|
| tempus-ubuntu-24.04-2core доступен по умолчанию: замена ubuntu-latest 1:1 2 vCPU · 8 GB · ubuntu-latest (приватные репозитории) | 2 vCPU · 8 GB | ubuntu-latest приватные репозитории | 0,004 |
| tempus-ubuntu-24.04-4core доступен тяжёлые сборки и тесты: вдвое больше vCPU 4 vCPU · 16 GB · GitHub-hosted 4 vCPU (larger runner) | 4 vCPU · 16 GB | GitHub-hosted 4 vCPU larger runner | 0,008 |
| tempus-ubuntu-24.04-8core по запросу большие тесты, монорепо 8 vCPU · 32 GB · GitHub-hosted 8 vCPU | 8 vCPU · 32 GB | GitHub-hosted 8 vCPU | по запросу |
| tempus-ubuntu-24.04-16core по запросу тяжёлые билды 16 vCPU · 64 GB · GitHub-hosted 16 vCPU | 16 vCPU · 64 GB | GitHub-hosted 16 vCPU | по запросу |
За минуту работы раннера; списываются фактические секунды. Сейчас доступны 2core и 4core; 8core и 16core — по запросу.
Нужен 8core или 16core? Напишите нам →
free tier
Попробуйте на своих workflow — 5 $ на старте
5 $ на балансе после подключения первой организации — карту привязывать не нужно. Это ровно 1 250 минут работы 2-core раннера (5 $ ÷ 0,004 $/мин) или 625 минут 4-core, а посекундная оплата не съедает ни секунды на округлении. Начисляются один раз на GitHub-пользователя. Прогоните свои workflow и посмотрите на цифры до первого пополнения.
модель оплаты
01 Предоплатный баланс
Баланс пополняется заранее и списывается посекундно: расходы ограничены балансом — перерасход на уже запущенных job-ах не больше 1 $. Остаток и история списаний видны в dashboard.
02 Баланс не сгорает
Баланс не сгорает, срока годности нет — пауза в разработке ничего не стоит. Пополняете заранее, от 1 $; можно включить автопополнение.
03 Ставка зашита в метку
Цена за минуту зашита в саму метку раннера: tempus-ubuntu-24.04-2core — это всегда 0,004 $/мин, tempus-ubuntu-24.04-4core — 0,008 $/мин, в любом репозитории. Что выбрали в runs-on, то и платите — без скрытых множителей.
04 Баланс дошёл до нуля
Баланс дошёл до нуля — текущие job-ы дорабатывают до конца, новые не стартуют до пополнения. Ничего не обрывается посреди билда.
оплата
Баланс в долларах США, пополнение картой
Баланс пополняется картой через DodoPayments — merchant of record: они проводят платёж, выставляют чеки и инвойсы и берут на себя НДС. Российские карты DodoPayments пока не принимает; альтернативный способ оплаты прорабатываем — напишите на billing@tempus.build, сообщим.
сравнение с github
тарификация
GitHub-hosted 4 vCPU стоит 0,012 $/мин и округляет время вверх до минуты — на коротких job-ах вы платите за неиспользованные секунды. У нас 0,008 $/мин и посекундная тарификация.
ubuntu-latest
2core — тот же размер, что ubuntu-latest на приватных репозиториях, но дешевле за минуту: 0,004 $ против 0,006 $ сверх включённых минут плана, и без округления вверх. 4core вдвое мощнее ubuntu-latest и выгоднее, когда job ускоряется больше чем в 1,33 раза; против larger runner 4 vCPU (0,012 $/мин) — дешевле сразу.
миграция
Никаких агентов, прокси и переписывания пайплайна. Меняется одно значение runs-on — drop-in замена GitHub-hosted, уйти можно так же, одной строкой.
06 калькулятор
Посчитайте на вашем объёме CI
GitHub-hosted округляет каждый job вверх до целой минуты и тарифицирует округлённое; tempus.build считает фактические секунды и делит время на ускорение. Подставьте свои числа — формулы под результатами.
Тарифы GitHub-hosted — из официальной документации GitHub (на август 2026). Калькулятор — о приватных репозиториях: на публичных standard runners GitHub бесплатны, а tempus.build их пока не обслуживает. Включённые минуты планов GitHub действуют только для standard runners, не для larger. Ускорение — оценка, реальное зависит от пайплайна. Баланс tempus.build — в долларах США.
Посчитали? Проверьте оценку на реальных job-ах.
5 $ на старте · карта не нужна
07 под капотом
Как устроены скорость и изоляция
-
cache
docker · apt · go · maven
Кеш зависимостей в том же регионе
Pull-through-кеш стоит в том же дата-центровом регионе, что и раннеры, и связан с ними частной сетью. Через него идут Docker Hub и другие registry образов, apt, Go, Maven/Gradle, NuGet, RubyGems и conda-forge. Приватные пакеты и образы кеш не хранит и получить не может: он забирает пакеты анонимно, без ваших учётных данных, а ваши настройки registry всегда в приоритете — приватные зависимости загружаются напрямую из вашего registry. Безопасность по дизайну.
-
isolation
vm на каждый job
Отдельная VM на каждый job
Каждый job выполняется в отдельной изолированной виртуальной машине, а не в shared-окружении. VM создаётся под конкретный job; job завершился — VM уничтожена. Ничего из окружения job-а его не переживает.
-
hardware
bare-metal · eu
Bare-metal вместо облачных инстансов
Jobs работают на bare-metal-серверах с AMD Ryzen, а не на облачных инстансах. Каждый job получает VM фиксированного размера, заданного меткой: 2 vCPU и 8 GB или 4 vCPU и 16 GB RAM. Jobs и ваш код выполняются в ЕС (Финляндия) — по умолчанию, без отдельного тарифа.
-
images
ubuntu 24.04 · cis · slsa
Образы, которые можно проверить
Ubuntu 24.04 x64, совместимая с образом GitHub ubuntu-24.04 (сейчас это ubuntu-latest). Образ пересобирается еженедельно, каждый релиз подписан и проходит проверку на уязвимости до выхода — подробности на /security.
same toolchain
Те же языки, рантаймы и инструменты, что на GitHub-hosted, — из стандартного образа Ubuntu 24.04; перенастраивать ничего не нужно.
Полный паритет — и впереди там, где важно: вдвое больше vCPU, чем у стандартного ubuntu-latest на приватных репозиториях, посекундная тарификация, образ подписан и open-source.
● OpenTofu — сверх ubuntu-latest: GitHub убрал Terraform, мы даём open-source-альтернативу.
08 faq
Вопросы и ответы
подключение и скорость
Как подключить?
Войдите через GitHub на app.tempus.build — первый вход создаёт аккаунт. Установите GitHub App tempus-build на организацию и выберите, к каким репозиториям дать доступ; группу раннеров платформа создаст сама. Затем замените runs-on: ubuntu-latest на runs-on: tempus-ubuntu-24.04-2core — того же размера, что ubuntu-latest; для тяжёлых сборок есть tempus-ubuntu-24.04-4core. Больше ничего менять не нужно — это drop-in замена GitHub-hosted runners: та же Ubuntu 24.04 и совместимость с actions из marketplace.
Почему быстрее?
Три причины: на 4core — 4 vCPU и 16 GB вместо 2 vCPU и 8 GB у ubuntu-latest на приватных репозиториях; bare-metal AMD Ryzen; кеш Docker-образов, apt, Go, Maven/Gradle, NuGet, RubyGems и conda-forge в том же дата-центровом регионе, по частной сети. Поэтому сильнее всего ускоряются компиляция, тесты и сборка образов — на реальных пайплайнах до 5×. Подробнее — в разделе «скорость».
Что нужно для подключения?
GitHub-организация и приватные репозитории. Личные аккаунты GitHub пока не поддерживаются — достаточно бесплатной организации. Публичные репозитории тоже пока не обслуживаются; PR из форков приватных репозиториев выполняются и оплачиваются с баланса организации — ограничить расходы поможет бюджет организации. Раннеров сейчас два, оба Ubuntu 24.04 x64: tempus-ubuntu-24.04-2core — 2 vCPU, 8 GB RAM и tempus-ubuntu-24.04-4core — 4 vCPU, 16 GB RAM; 8- и 16-core — по запросу (напишите нам). У каждой организации есть потолок одновременных job-ов (поднимем по запросу); job-ы сверх него ждут в очереди.
Подойдёт ли для публичных репозиториев и open source?
Пока нет: раннеры обслуживают только приватные репозитории в GitHub-организациях, поэтому бесплатного плана для open source тоже нет. PR из форков приватных репозиториев выполняются и оплачиваются с баланса организации. Если поддержка публичных репозиториев для вас важна — напишите нам, добавим её по спросу.
оплата
Можно ли оплатить российской картой?
Пока нет: пополнение идёт через DodoPayments, российские карты он не принимает. Альтернативный способ прорабатываем — напишите на billing@tempus.build. Стартовые 5 $ работают без карты.
Как устроена оплата?
Цены — в долларах за минуту, баланс предоплатный, в долларах США. Job-ы списывают фактические секунды работы — посекундно, без округления. Остаток и история списаний видны в dashboard. Пополнение — картой через DodoPayments (merchant of record), от 1 $, с автопополнением по желанию.
Как не получить неожиданный счёт?
Модель предоплатная: новые job-ы не стартуют при нулевом балансе; уже запущенные дорабатывают, перерасход — не больше 1 $. Поверх — бюджеты на организацию (уведомление или остановка новых job-ов), уведомления о бюджетах по репозиторию, workflow и автору запуска и email-уведомления о низком балансе и всплесках расходов.
безопасность и изоляция
Безопасно ли для приватных репозиториев?
Каждый job выполняется в отдельной изолированной VM, а не в shared-окружении с другими пользователями: VM создаётся под job и уничтожается после завершения. Серверы размещены в ЕС. Образы раннеров — open source, проверяются по рекомендациям CIS Docker Benchmark для образов и публикуются с SLSA provenance: github.com/tempusbuild/runner-images — можно посмотреть, в чём именно исполняется ваш код.
Какие права получает tempus.build в моём GitHub?
Подключение идёт через GitHub App tempus-build: вы устанавливаете его на организацию и сами выбираете, к каким репозиториям дать доступ. App запрашивает минимум прав — вот полный список и зачем нужно каждое:
-
Self-hosted runners: read & write(organization) — регистрация раннеров и группыtempus-runners -
Members: read(organization) — роли участников и доступ к репозиториям, чтобы каждый видел в дашборде только то, что видит на GitHub -
Metadata: read(repository) — обязательный минимум любого GitHub App -
Actions: read(repository) и webhook-событияworkflow_job— статусы jobs для посекундного биллинга; событияinstallation,repository,organization,memberиteam— синхронизация состава организации
Права Contents в списке нет — читать ваш исходный код через API платформа не может. Код, как и на GitHub-hosted runners, чекаутится самим job-ом внутри раннера и уничтожается вместе с его микро-VM. Installation-токены короткоживущие и выпускаются по запросу; постоянных токенов по клиентам мы не храним. Вход в дашборд — через GitHub OAuth со scope-ами read:user, user:email и read:org. Страница App: github.com/apps/tempus-build
Какие ресурсы получает job?
Shape определяется только меткой в runs-on и зафиксирован: tempus-ubuntu-24.04-2core — это всегда VM с 2 vCPU и 8 GB RAM, tempus-ubuntu-24.04-4core — с 4 vCPU и 16 GB. У GitHub ubuntu-latest на приватном репозитории — 2 vCPU, на публичном — 4; у нас спека зашита в саму метку и не зависит от типа репозитория. VM работают на общих bare-metal-хостах: это отдельная виртуальная машина, а не выделенный сервер.
Как вы обращаетесь с секретами моих репозиториев?
Секреты попадают только внутрь job-а, который выполняется в отдельной изолированной VM: job завершился — VM уничтожена вместе со всем окружением. В логи платформы мы секреты не пишем.
доверие
Что если мы захотим уйти?
Вернёте runs-on: ubuntu-latest в workflow — это вся миграция, та же одна строка, что и при подключении. Код, workflow и история запусков остаются там же, где и были, — в вашем GitHub. Забирать с tempus.build нечего: кеш зависимостей — копии публичных пакетов, оригиналы и так в registry. Последний шаг — удалить GitHub App tempus-build в настройках GitHub и при желании удалить группу раннеров tempus-runners.
Что будет с балансом, если сервис закроется?
Неизрасходованный оплаченный остаток вернём по запросу (приветственные и бонусные начисления не возвращаются).
Где гарантии аптайма?
SLA пока не публикуем: обещать проценты раньше, чем их подтвердит реальная история работы, — это маркетинг, а не гарантия. Вместо этого — публичная статус-страница: доступность сайта и история инцидентов (мониторинг дашборда и раннеров добавляем), судите по фактам: status.tempus.build. А посекундная тарификация действует в обе стороны: не работало — не платили.
Есть ли SOC 2?
Нет. Вместо отчёта аудитора — то, что можно проверить самим: подписанный open-source образ с SBOM и SLSA provenance, отдельная VM на каждый job, публичная модель изоляции на /security.
Будет ли MCP-сервер?
Да, в планах: tempus можно будет подключить к AI-агентам по Model Context Protocol. Детали — ближе к релизу; анонсы — в Telegram-канале t.me/tempusbuild.
блог
Из блога
все статьи →-
Почему tempus.build собирает собственный образ раннера, а не берёт ubuntu-latest
Образ GitHub-hosted раннера — это образ VM, а не контейнера, и он собирается из плавающих версий. Разбираем, почему tempus.build собирает свой образ: воспроизводимость и проверяемая цепочка поставки, совместимость с ubuntu-latest там, где она влияет на скорость, намеренные отличия и цена этого решения.
-
Слой зависимостей в CI: кеш для скорости, изоляция для безопасности
Установка зависимостей — рычаг скорости CI и поверхность атаки. Как pull-through-кеш и Kata-VM решают обе задачи в tempus.build.
-
Managed-раннеры для GitHub Actions: честная карта рынка
GitHub-hosted дорогой и округляет минуты вверх. Сравниваем managed-раннеры (Depot, Blacksmith, Namespace, Ubicloud и др.) по цене, изоляции, географии и supply-chain — и где на карте tempus.build.
Замените одну строку в workflow — остальное проверите сами
Войдите через GitHub и подключите организацию — на балансе появятся 5 $, карта не нужна. Поменяйте runs-on — и сравните тайминги и счёт на своих job-ах.