Take a look at Tekton CI/CD for a good primitive that you can build on.
Take a look at Tekton CI/CD for a good primitive that you can build on.
1. Build matricies. I was running windows builds on appveyor and linux builds on travis for a long time (faster builds / iteration / feedback.) Regression testing against multiple rustc versions can be done from within a script, but doing so via CI-configuration makes for easier to read CI results that flag individual builds as failed instead of an entire script that you have to go log diving into.
2. Custom runners. Be it custom hardware or licensing-burdened custom software, I frequently need to own the actual CI hardware, and using the native solutions for CI runners is typically easier than merely configuring whatever custom infrastructure I might come up with.
3. Images. Using prewarmed cloud-ci-specific images is often faster to spin up.