GitLab’s pipelines run between a few minutes and an hour. We execute pipelines based on what changed. If only docs changed: few minutes, if Frontend or Backend changed, it can take considerably longer (up two an hour).
Please note that this includes heavily parallelized Integration (and E2E) test. This is generally fine because I make sure that linters and tests pass locally for the things I changed before I push.
Also as code review takes quite a while, at least 6 eye principle, colleagues in different time zones, Pipeline execution of time is just something of a minor importance to consider.
I am unsure how many Engineers we currently have exactly, but I’d guess around 450?
Most services can pass their own ci between 30s and 5min. Then the system level staging tests can be 5-20min. Multiple teams deploy multiple times per day.
For our team, from merging to production deployment can take from 5min to 30min. Each service has unit tests that run fast, seconds at most. Then they have acceptance tests that spin up all or most dependencies in docker compose and blackbox test the service.
Some discussion for the same question in a recent thread: https://news.ycombinator.com/item?id=21679714
We're quite a bit smaller but have similar numbers: 15-20m right now. We're dominated by build time (build caching might help) and schlepping docker images.