when using graphite CI Optimizer, some of our CI r...
# how-do-i
s
when using graphite CI Optimizer, some of our CI runs are being deferred to run later, once downstack PRs are verified (that's great). however, i'm seeing upstack PRs marked "Ready to Merge" even though required CI runs have yet to happen (they are skipped/deferred by graphite). what's the appropriate way to integrate CI Optimizer to avoid these skips/deferrals being interpreted as success?
j
That's expected. CI Optimizer skips required CI on mid-stack PRs, and GitHub treats a skipped required check as satisfied, so the PR looks 
Ready to merge
 before that CI runs. Graphite isn't marking the skipped CI as passed, GitHub is. The fix would be to merge through the Graphite merge queue (Merge when ready), not GitHub's merge button. Graphite stops skipping CI once a PR is queued, so the deferred required checks actually run before it merges. Are you merging these through the merge queue currently, or via GitHub directly? Docs: https://graphite.com/docs/stacking-and-ci
s
yes we're going through the graphite merge queue. i know that things will get checked in the merge queue, but it would be nice to have utmost confidence in "ready to merge".
j
Can you send the Graphite PR url where this issue occurs?