Developing RefApp 3.x E2E takes significant amount of time and resources

We have configured server for RefApp 3.x E2E tests. Cypress is clearing the resources such as js files, CSS, and images each time we run a test. Because of that, the tests take a time to get loaded. Most of our developers are having compared slow connections, the tests are getting timeout and fail after waiting for 2 minutes. Apart from that, it consumes a lot of data. Some workflows take nearly 30MBs to get loaded. Since we all have metered connections, developing a workflow is a bit expensive.

As I see, these would be possible options to resolve the problem:

  1. Configuring Cypress to cache resources
  2. Running tests against a local server that does not depend on the internet

I went through Cypress to find a way to prevent clearing resources, but it seems they don’t have such a feature yet. There’s an ongoing discussion related to this problem here: /cypress-io/cypress Enable Lifecycle Events to be customizable #686

Furthermore, I attempted to set up a local server, but it still loads resources from a CDN. Then I manually created an import map file, but it also did not work.

Is there any way to create an isolated local server? Or any alternatives to solve the problem?

cc: @christine @grace @bistenes @jdick @florianrappl @kdaud @ibacher @pasindur2 @anjisvj @piumal1999 @kumuditha @heshan


I think this would be the better alternative to cut off costs related to using an online instance during development. @ibacher @bistenes @mksd @dkayiwa do we have an OpenMRS SDK 3.x set up wizard one can run to have a local instance of Or a documentation related to the ideal?

1 Like

This would be an awesome approach to dive into however i remember @ibacher had shared some clues about it but am not seeming to find that resource, though it seems not yet out ready

@jayasanka there is omrs3.0 for offline mode


Hopefully having a configuration of cypress is worth it, some configuration guidelines

Not sure if you have tried a dockerised docker-compose.yml for 3.0

Seems like @bistenes did work around SDK build-distro should build SPA application and wondering whether there is a documentation containing the wizard commands to the instance set up.

@ibacher @dkayiwa do you have information on this?

Yeah it’s not hard to set up a local 3.0 instance. See the Implementer Documentation.

The hard part is getting it to work in GitHub actions. Jayasanka is intimately familiar with this difficulty. See

I stopped working on this about two months ago, but I was making some progress. It would make things much better if we can manage to figure this out. I’m happy to answer questions and provide guidance, but I don’t have the bandwidth to help develop this right now.


thanks for the awesome information.