Skip to content

Take the repository private again — what it costs and what must be in place first #163

Description

@Devski

Decided by Dawid on 12.09.2026: the repository stays public for now and goes private
later. This records what the switch costs and what has to be in place first, so that it is a
decision and not a surprise. It went public on 10.09.2026; #144 is what that cost us once
already.

Why it is not free

Measured on 12.09.2026 over the previous seven days (05–12.09): 263 workflow runs — 210 CI
and 53 preview cleanups, about 30 CI runs a day. One CI run bills about 11.9 minutes
once each job is rounded up to the minute, the way private repositories are billed: e2e-full
3.4, check 2.6, image 2.2, e2e-smoke 1.9, deploy-config 1.0, preview 0.6, deploy-dev
0.6. That is roughly 11,000 minutes a month.

A public repository pays nothing for those minutes. A private one pays past the plan's
allowance:

  • GitHub Free — 2,000 minutes, and no branch protection on private repositories. The
    ruleset main: green before it lands (id 22987528, created 12.09.2026) would stop being
    enforced, which undoes Nothing requires a green pipeline before code reaches main, and main deploys itself #61. Free is therefore not an option, whatever the minutes cost.
  • GitHub Pro — 3,000 minutes, then $0.006 a minute. At today's tempo that is ~8,000 minutes
    over the allowance, about $52 a month; at half the tempo about $19.
  • Storage — the container images are free while the repository is public. Private, the plan
    includes 2 GB and charges $0.25 per GB a month beyond it. Nothing deletes old images today
    (Dev instance keeps every image it ever pulled: the deploy must drop the old ones #119 is the same habit on the instance's disk), so this figure grows on its own. It is the
    one item that can surprise, and it is not yet measured — the token used on 12.09 had no
    read:packages scope.

Before the switch

  • Pro on the account before the visibility changes, so main is never left unguarded.
  • A retention policy for the images in the registry — the registry's side of Dev instance keeps every image it ever pulled: the deploy must drop the old ones #119.
  • Read the real storage figure (Settings → Billing → storage for Actions and Packages) and
    write it into this issue, so the monthly bill is known and not estimated.
  • Decide whether the CI rethink lands first: it is what decides the monthly bill.

What going private does not undo

The history stays as it is. The seed password that was published before 10.09.2026 was rotated
on 11.09 (#144), and whatever was cloned in the meantime stays cloned. Going private is about
what happens next, not about what already happened.

Labels: decision, infra

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    decisionOpen decision from SPEC section 12deploymentHow code reaches an environment: pipeline, release procedure, infrastructureinfraManual work in provider consoles (OVH / Scaleway / Coolify)

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions