Кратко

  • GitHub округляет время каждого задания вверх до полной минуты. Если сначала сложить секунды и округлить только итог, стоимость дробления исчезнет из расчёта.
  • Шесть заданий ровно по десять секунд дают шесть расчётных минут; одно задание ровно на шестьдесят секунд — одну. На стандартном Linux-исполнителе с двумя ядрами x64 текущая ставка даёт расход 0,036 против 0,006 доллара.

Самая дорогая часть короткого задания может оказаться его границей. Пока разработчик делит проверку на удобные кусочки, GitHub Actions выдаёт каждому собственную минимальную минуту. Шесть секундомеров способны продать шесть минут за шестьдесят секунд суммарного исполнения.

В официальной таблице цен округление применяется отдельно к каждому заданию. Минуты и их доли поднимаются до целого значения. Общая сумма секунд не получает одного общего округления в конце. Каждый маленький предмет едет в отдельной большой коробке.

Один объём времени, шесть упаковок

Зафиксируем частный репозиторий и одинаковый стандартный Linux-исполнитель с двумя ядрами x64. Текущая цена этой категории — 0,006 доллара в минуту. Пусть шесть полных заданий длятся ровно по десять секунд. Каждое превращается в одну расчётную минуту: всего шесть минут и 0,036 доллара.

Один полный запуск длительностью ровно шестьдесят секунд даёт одну минуту и 0,006 доллара. Суммарно исполнители работали те же шестьдесят секунд. Разница в рассчитанной стоимости — 0,03 доллара. Это условная арифметика с опубликованной ставкой, а не измеренный результат переделки рабочего процесса.

Реальное объединение может изменить подготовку, завершение, зависимости и общее время. Десятисекундная команда тоже не доказывает, что всё задание заняло десять секунд. Отправная точка — полная измеренная длительность задания. Просмотр времени исполнения показывает длительность и расчётные минуты; затем нужны категория исполнителя, актуальная ставка и финансовая детализация.

Секунда с особенно хорошим курсом

Задание на 61 секунду округляется до двух минут. На шестьдесят — до одной. Через эту границу сокращение всего на секунду вдвое уменьшает расчётное количество. Сокращение с одиннадцати до десяти секунд оставляет одну минуту в обоих случаях.

Цена движется ступенями. Сэкономленные секунды и сэкономленные деньги не обязаны изменяться пропорционально. Небольшое ускорение возле границы минуты способно дать больший финансовый эффект, чем заметное ускорение уже короткого задания. Таблица победителей по одним секундам выберет не тех героев для бюджета.

Есть и время ожидания результата человеком. Параллельные задания могут сократить его, хотя сумма времени всех исполнителей остаётся отдельной величиной. Затем каждое задание ещё и округляется. Ранний результат, небольшое суммарное машинное время и малое число расчётных минут — три разных приобретения.

Сначала расходуется включённая стоимость

Нынешние правила оплаты выражают включённый в план вычислительный объём денежной суммой. Допустимое использование исполнителей, вычислений и памяти облачных изолированных сред может расходовать один общий объём. Приоритета между допустимыми видами нет. Сумма возобновляется в начале расчётного цикла; после её исчерпания дополнительное использование оплачивается отдельно.

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

Стандартные размещённые у GitHub исполнители бесплатны в публичных репозиториях независимо от этого объёма. Более крупные исполнители оплачиваются и в публичных репозиториях. Числовое сравнение относится к выбранному частному репозиторию и конкретной стандартной категории. Сначала нужно сравнять тарифные условия, затем спорить о секундах.

Границы способны окупаться

Описание устройства Actions различает рабочий процесс, задания и шаги. Шаги одного задания выполняются на одном исполнителе; задания имеют свои среды. При отсутствии зависимостей задания по умолчанию идут параллельно. Нынешние возможности допускают и одновременное выполнение выбранных шагов внутри задания, так что параллельность не всегда требует новых границ заданий.

Разные операционные системы, отдельные среды, разделение отказов и ранняя обратная связь могут оправдать покупку этих границ. На одном исполнителе шаги могут передавать данные. Удалить нужную проверку или смешать задачи с разными областями доверия и правами ради округления — значит изменить сам полученный результат.

Для реальной экономии нужны фактические полные длительности, категории исполнителей, равнозначные результаты проверок, ожидание, повторы и расход включённой суммы. Плательщик уже известен: владелец репозитория, а не человек, запустивший процесс. Тот, кто делит работу, выбирает единицы покупки для чужого бюджета. Короткое задание может быть прекрасной идеей. Полная минута вокруг него должна уметь объяснить, что именно она доставила.