Repository used for live demo on PHPLive 2021 conference.
I love to solve complex CI/CD problems and challenges.
I offer consultations on various topics. If you would like to get a helping hand, let's have chat, maybe I can help you.
Goal is to demonstrate through the demos, how to get from "classic approach" to parent-child pipelines, with dynamic child pipelines.
As a bonus, there is simple script, that can build up "dependency tree" for packages. It is used to trigger pipelines only for those packages that are affected and their dependencies.
"Classic approach" - monorepo without parent-child pipelines, everything run in the same pipeline.
Simple implementation of parent-child pipelines.
Example of failed pipeline to demonstrate the UI and behaviour.
Introduction of depend
strategy to make parent pipeline fail if one of children fail.
Introduction to dynamic child pipelines with exactly the same behaviour - dynamically generating pipelines for all packages. This is 2 level parent-child pipelines.
Introduction to merge request pipelines (without dynamic child pipelines yet) - trigger pipeline only package that has been directly changed.
Merge request pipelines with dynamic child pipelines combined together.
The "Ultimate demo" - merge request pipeline with dynamic child, run pipelines for package that has been directly changed + all dependent packages, to make sure nothing have been broken up.