Something like this?
-
int01 – OpenMRS Platform built from latest commit to core or any modules bundled in the platform. Purpose is to prove OpenMRS Platform still runs and to serve for automated testing.
-
int02 – OpenMRS Reference Application built from latest commit to core or any module distributed in the ref app. Purpose is to prove OpenMRS Community Distribution still runs and for automated testing.
-
int03+ – Used whenever we need an additional server for automated testing (e.g., automated testing of a new module that doesn’t belong on or might unnecessarily disrupt the operation of int01 or int02).
-
qa01 – OpenMRS Platform built from latest commit. Used for manual testing (e.g., making manual REST calls to it). This would be similar to a headless version of demo.openmrs.org, but would be running a version built from the latest commit (to core or any module bundled in the platform.
-
qa02 – OpenMRS Reference Application built from latest commit. Used for manual testing. This would be similar to demo.openmrs.org, but would be running a version built from the latest commit (to core or any module distributed in the ref app).
-
qa03+ – Used whenever we need to perform manual testing for an application or module that doesn’t belong on or might unnecessarily disrupt the operation of qa01.
-
uat01 – OpenMRS Platform from manually triggered build. Purpose is to run a specific snapshot of the platform released to uat01, so specific releases could be user-tested during preparation for a new release.
-
uat02 – OpenMRS Reference Application from manually triggered build. Purpose is to run a specific snapshot of the reference application released to uat02, so specific releases could be user-tested during preparation for a new release.
-
uat03+ – Used whenever we are releasing something other than the reference application and need a server onto which trigger new builds as we work through user acceptance testing of the impending release.
If we agree, then:
-
CI should be deploying “nightly” (build from latest commit) of platform to int01 & qa01 and the reference app to int02 and qa02.
-
Automated testing by CI of platform or reference application should be performed against int01 and int02, respectively.
-
Any /dev/3+ should be able to manually trigger a new release (of a particular commit) of the platform to uat01 or the reference application to uat02.