OpenMRS startup time analysis

It depends. If you look at TRUNK-6418 Run liquibase checks and data imports only when version of core or modules changes by rkorytkowski · Pull Request #5603 · openmrs/openmrs-core · GitHub it is setting an expected performance improvement to be 10% faster than a previous maintenance version of core. However, due to the nature of performance tests, which depend on fluctuations of available hardware resources during execution we allow for 15% difference between runs on top of that before failing a build. We could lower it down to 10% or even 5%, if we observe fluctuations are not that high and we want to have more strict testing.

Non-code fix. It’s a ruleset in the branch in the GitHub settings. There’s separate rulesets for most branches (because of the shifting supported versions), so I only fixed the ruleset for the main branch. Annoyingly, the CI needs to have already been triggered at least once to fix it “properly”.

FWIW, upgrading testcontainers from 2.0.2 to the current latest 2.0.3fixed the java.lang.IllegalStateException: Could not find a valid Docker environment error.

Tanks to all who contributed to this thread! I’ve created a summary of what we accomplished at OpenMRS starts faster than ever!