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
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.