Skip to content

Add rollout strategies for changesets

Created by: eseliger

Defining a rollout strategy for changesets would be very powerful I think. Also, it would help with rate-limiting issues reported in https://github.com/sourcegraph/sourcegraph/issues/15892 if we had a default rollout strategy that was a little slower than "as fast as possible".

Impacted customers

Product gap

Proposal

Quick spec idea:

rolloutStrategy:
  slowRollout: 5min # Open one changeset every 5 minutes
rolloutStrategy:
  github.com/*:
    slowRollout: 5min # Open one changeset every 5 minutes
rolloutStrategy:
  maxOpen: 20 # only have at most 20 open changesets at the same time. if this number is lowered, existing ones are retained.
rolloutStrategy:
  maxPendingCheck:
    threshold: 20 # only have at most 20 open changesets at the same time where CI checks are still reporting back.
    ignoredChecks: [codecov, chromatic]

Workaround

For now, users can setup instance-level rollout windows to limit CI load.