Skip to main content

Optimizing Your CI Pipelines

30 minutes


Take your Continuous Integration to the next level! Learn how to optimize your pipelines for faster and more efficient builds through parallelization, caching, failing early, conditional runs, and more.



This talk aims to show you some ideas on how to improve your CI pipelines. I assume that you already know what CI is, you chose one of many tools available on the market and wrote some kind of a CI setup for your project. Great! Now, let’s take it one step forward and see how we can make it even better.

I will talk mainly about improving the speed of your CI pipelines (which in many cases will correspond to also lowering costs if you use a paid service) through:

  • Making more things run at the same time - parallelization
  • Making things start faster - caching, smaller containers
  • Making things finish faster - failing early, splitting tests, running CI conditionally, etc.

I will use Gitlab CI to show concrete examples, but I will also try to make this talk as generic as possible to make it useful for people using different CI tools.

The speaker

Sebastian Witowski

Python consultant with over a decade of experience in full-stack development, a conference speaker who delivered presentations at major Python conferences around the globe, and an online course creator with over 10,000 copies sold. Having worked with leading energy producers like Statkraft, the largest investment bank in Japan (MUFG), and CERN, he has established a proven track record in portfolio risk management tools, document repository management, and software development for high-energy physics experiments. Skilled mentor, technical reviewer, and team leader, known for implementing innovative solutions and streamlining development workflows for his clients. In his free time, he enjoys blogging about Python tools, best practices, and productivity, sharing his expertise with a broader audience.