{{ summaryTitle }} {{ summaryValue }} {{ summaryLine }} {{ badge.label }} {{ badge.value }}

Storage flow visual unavailable.

Build artifact retention and storage inputs
Use the average uploaded build output, not a one-time release outlier.
MiB/build
{{ summaryAnnouncement }}
Count only jobs that upload an artifact into the modeled retention policy.
Use the configured artifact retention window for this project or organization.
{{ retentionDaysLabel }}
days
Count refs that produce artifacts during the retention window.
Apply savings once, before retention and cache math.
{{ compressionLabel }}
%
Use 0 for artifacts only; 0.25 adds cache equal to 25% of retained artifacts.
× artifacts
Disable when latest artifacts follow the same expiry policy as ordinary artifacts.
{{ keepLatestEnabled ? 'Protected' : 'Normal expiry' }}
{{ workflowFeedback }}
Leave blank for a generic export label.
Leave at 0 to omit quota comparison.
GiB
Leave at 0 for a flat run-rate forecast.
%/month
Leave at 0 for the raw retained-storage estimate.
%
{{ tableExportAnnouncement }}
Storage layerAmountCanonical MiBPlanning detailCopy
{{ row.label }}{{ row.display }}{{ row.canonicalMib }}{{ row.detail }}

Capacity status

{{ capacityReview }}

Highest-impact checks

  1. {{ item.label }}: {{ item.text }}

Calculation path

effective size × builds/day/ref × retention days × active refs gives ordinary retained artifacts.

Protected latest artifacts, cache allowance, and reserve are then added. The 12-month chart compounds artifact size and build cadence independently while retention and ref count stay fixed.

{{ chartExportAnnouncement }}

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.

  1. 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.
  2. 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.
  3. Choose whether to Keep latest per ref, then add a Reserve allowance if cleanup lag or release variance needs headroom.
  4. 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.

The policy review also warns when latest artifacts are protected across more than 20 refs or when the retained build count exceeds 10,000. Those thresholds point to policies worth reviewing; they are not provider limits.

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.

E=A(1c100) N=bdr

The retained set is EN. Latest protection adds Er when enabled, cache adds mEN, and reserve adds a percentage of the subtotal.

S= (EN+kEr+mEN) (1+q100)
Build artifact storage formula symbols
SymbolMeaningUnit
AAverage uploaded artifact sizeMiB per build
cCompression savingspercent
bBuilds per day per refbuilds/day/ref
dRetention perioddays
rActive refscount
kLatest-protection switch, 1 when enabled and 0 otherwiseratio
mCache multiplierratio
qReserve allowancepercent
STotal modeled storageMiB

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.

Build artifact storage model input bounds
Input groupAccepted model range
Retention and refs1 to 3,650 whole days; 1 to 1,000,000 whole refs
Compression and cache0% to 100% compression; cache multiplier 0 to 100
Forecast allowances0% to 300% monthly growth; 0% to 300% reserve

Rule Core

Storage quota status rules
ConditionStatus
Quota is 0 GiBNo quota comparison
Total is less than or equal to 80% of quotaWithin quota
Total is greater than 80% and less than or equal to 100% of quotaWatch
Total is greater than 100% of quotaOver 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.