Configure Once, Run Everywhere: How & Why to Use a Common Config for Dev, Testing, & CI Environments

The recording of @JonEdvald’s talk at FOSDEM '21 has been uploaded to Garden’s YouTube channel:

For reference, here’s the talk abstract:

Many of the challenges developers encounter with CI pipelines stem from the fact that CI is siloed from the rest of the development process:

  • Because development environments are configured separately from CI (and are often pared down and simplified), devs run into hard-to-predict CI errors caused by discrepancies in environments.
  • Integration and end-to-end tests are commonly available only in CI, meaning that troubleshooting these test failures requires long and inefficient feedback loops—every fix requires a developer to push and wait for another CI run.

In this talk, we will describe and demonstrate how to use the open source project Garden to ensure that environments are consistent and predictable at every step of the pre-production pipeline—from development, to testing, to CI. We’ll also show how to give developers the ability to run integration and end-to-end tests during the development process, making it easier to catch and fix issues when it’s most efficient.