Learn CI optimizations & best practices for stacked pull requests.
.buildkite/
directory as anew pipeline. Remember to update thetrigger
step in the pasted YAML so the CI optimizer pipeline can call your own pipeline after it decides whether to optimize CI for your PR.wait
step (pipelines are typically stored in.buildkite/
). Replacegraphite_token
with the token from the first step.steps: -name:":graphite: Graphite CI optimizer" soft_fail:true plugins: withgraphite/graphite-ci#main: graphite_token:"xxxxxxxxxxxxxxxxxxxxxxx" -wait # the rest of your jobs in the pipeline -label:"Your first job to run after the optimizer" command:echo "hello"
.github/workflows/)
. Replacegraphite_token
with the token from the first step.jobs: optimize_ci: runs-on:ubuntu-latest # or whichever runner you use for your CI outputs: skip:${{ steps.check_skip.outputs.skip }} steps: -name:Optimize CI id:check_skip uses:withgraphite/graphite-ci-action@main with: graphite_token:${{ secrets.GRAPHITE_CI_OPTIMIZER_TOKEN }} your_first_job: ... your_second_job: ...
job_name: needs:optimize_ci if:needs.optimize_ci.outputs.skip == 'false' ...
batch size
stacks, wherebatch size
can be configured in our UI. This results in a saving ofbatch size
*stack height
CI runs.stack height
CI runs.Was this page helpful?