Build Artifact Storage Calculator
{{ computation.ok ? 'Storage flow visual unavailable.' : 'Correct inputs to view the storage flow.' }}
| Storage layer | Amount | Canonical MiB | Planning detail | Copy |
|---|---|---|---|---|
| {{ row.label }} | {{ row.display }} | {{ row.canonicalMib }} | {{ row.detail }} |
Capacity status
{{ capacityReview }}
Highest-impact checks
- {{ item.label }}: {{ item.text }}
Chart unavailable. Retry to restore the chart and downloads.
| Retention | Total (GiB) | Change vs selected (GiB) | Headroom (GiB) | Copy |
|---|---|---|---|---|
| {{ row.label }} | {{ formatNumber(row.totalMib / 1024, 2) }} | {{ row.deltaMib > 0 ? '+' : '' }}{{ formatNumber(row.deltaMib / 1024, 2) }} | {{ values.quota_mib > 0 ? formatNumber(row.headroomMib / 1024, 2) : 'Not set' }} |
Similar tools
- Git Branch Staleness Analyzer Review a dated Git branch inventory locally to find stale or diverged work, protect important names, and build a safer cleanup queue.
- CI Runner Capacity Calculator Estimate CI runner slots from workload minutes and peak demand, then check utilization headroom and queue-clear time against platform caps and retry load.
- Backup Capacity Calculator Plan backup repository capacity from retention and change rate with growth assumptions, copy tiers, operational reserves and raw storage overhead.
- Backup Rotation Planner Plan backup rotation capacity across daily through yearly retention tiers with binary units plus compression, growth and dedupe assumptions.
Continuous integration (CI) can create far more stored data than the size of one build suggests. Each artifact is multiplied by build frequency, retention time, and the number of branches or other references producing output. Caches, protected latest builds, and operational reserve add storage outside that basic retained set.
Capacity estimates help when setting retention policies, comparing storage quotas, or deciding which jobs should upload logs, packages, screenshots, and test recordings. The useful input is the average uploaded size from ordinary runs. A one-time release bundle or a single unusually small build can distort the forecast.
- Build cadence controls how many artifacts enter the retention window each day.
- Active refs multiply that cadence when branches, tags, or pull requests each retain their own outputs.
- Compression reduces the stored size once before retention and cache calculations.
- Keep latest protects one additional artifact per active ref after the ordinary retained set is counted.
- Quota headroom compares the modeled total with a capacity limit; it does not predict provider billing.
Retention is only one cleanup rule. Provider-specific expiry exceptions, deduplication, cache eviction, log aggregation, and artifacts uploaded by uncounted jobs can move actual usage. A sound plan compares the estimate with measured storage and revisits the assumptions when the pipeline changes.
How to Use This Tool:
Model one artifact-producing policy or project with a consistent average run rate.
- Enter the average Artifact size, Builds per day per ref, Retention period, and number of Active branches or refs. Count only jobs that upload into the modeled policy.
- Enter Compression savings and a Cache multiplier. Use zero cache multiplier for artifacts alone; 0.25 adds cache storage equal to 25% of retained artifacts.
- Choose whether to Keep latest per ref, then add a Reserve allowance if cleanup lag or release variance needs headroom.
- Enter an optional Storage quota and Monthly growth. Compare the current breakdown with the quota status and inspect the 12-month forecast before changing retention.
Interpreting Results:
Total storage adds retained artifacts, protected latest artifacts, cache, and reserve. A quota of zero deliberately omits comparison. With a positive quota, usage at exactly 80% remains Within quota; usage above 80% becomes Watch, and usage above 100% becomes Over quota.
Use the policy review to check retention, artifact-producing jobs, active refs, and cache cleanup. These are planning checks to compare with your provider's actual retention rules and storage reports.
Forecast growth is a scenario, not a trend fitted to historical data. The same monthly rate is applied independently to artifact size and build cadence, so retained artifact storage grows faster than either input alone. Verify that assumption before using the later months for procurement.
Technical Details:
The model uses mebibytes (MiB) and converts a quota from gibibytes (GiB) using 1 GiB = 1,024 MiB. Provider reports expressed in decimal gigabytes will not match these binary units exactly.
Formula Core
For one modeled month, compression produces an effective artifact size E, while cadence, retention, and active refs produce retained build count N.
The retained set is EN. Latest protection adds Er when enabled, cache adds mEN, and reserve adds a percentage of the subtotal.
| Symbol | Meaning | Unit |
|---|---|---|
| A | Average uploaded artifact size | MiB per build |
| c | Compression savings | percent |
| b | Builds per day per ref | builds/day/ref |
| d | Retention period | days |
| r | Active refs | count |
| k | Latest-protection switch, 1 when enabled and 0 otherwise | ratio |
| m | Cache multiplier | ratio |
| q | Reserve allowance | percent |
| S | Total modeled storage | MiB |
At forecast month x, growth factor g = 1 + monthly growth percentage divided by 100. Artifact size and builds per day are each multiplied by gx. Retained artifact storage therefore contains g2x, while the protected-latest amount contains gx. The forecast reports months 0 through 12 without rounding intermediate values.
| Input group | Accepted model range |
|---|---|
| Retention and refs | 1 to 3,650 whole days; 1 to 1,000,000 whole refs |
| Compression and cache | 0% to 100% compression; cache multiplier 0 to 100 |
| Forecast allowances | 0% to 300% monthly growth; 0% to 300% reserve |
Rule Core
| Condition | Status |
|---|---|
| Quota is 0 GiB | No quota comparison |
| Total is less than or equal to 80% of quota | Within quota |
| Total is greater than 80% and less than or equal to 100% of quota | Watch |
| Total is greater than 100% of quota | Over quota |
An average 180 MiB artifact with 18% compression becomes 147.6 MiB. At 36 builds per day, 14 days of retention, and 6 active refs, the retained set uses 446,342.4 MiB. Latest protection and a 0.25 cache multiplier bring the total to 558,813.6 MiB, or about 545.7 GiB, before reserve.
Inputs outside supported numeric ranges are bounded to the accepted model range after parsing; blank and non-finite values produce an input error. Retention days and active refs are reduced to whole numbers.