Buildkite - Dynamic Pipelines

Buildkite - Dynamic Pipelines

I'm in love with my new Dynamic Pipelines project. Faster and more maintainable builds and saves money.

  1. Spinup time is ~4 seconds (JAR is already published with GraalVM. Just curl it and execute it)
  2. Affected Modules in 4 seconds instead of 4 minutes
  3. Calculates if the step needs to run or if it can be skipped
  4. Calculate how big or small an agent you need for a job
  5. If shards are enabled for a job, calculates and implements shards
  6. Dynamically create caching definitions (which are super hard to do in the system I work with)
  7. (Mostly implemented) Can read XML file definitions similar to Buildkite's syntax but with Mustache templates
  8. (Planned) Keep step history for purpose of balancing shards and estimating times