My OpenMRS Fellowship Journey: Piumal Rathnayake

During the past two weeks, I focused on creating pre-filled Docker images for running the end-to-end (e2e) tests. I initiated a talk thread to provide updates on this task.

Previously, we encountered a problem with the e2e tests, as setting up the backend environment before running the tests took a significant amount of time. This delay was caused by automatic data generation at the startup of the backend environment. To address this issue, we decided to create new Docker images for the backend and the database, with pre-filled data.

As a first step, I investigated the feasibility of manually achieving this by using the existing docker-compose.yml file we used for the e2e tests. However, since that docker-compose stack utilized two volumes, and volumes cannot be committed with images, I created a separate docker-compose file to run without volumes.

Then I waited until the data generation process was completed. Once done, I committed snapshots of the backend and the database, and then pushed them to my Dockerhub.

Later I automated this process with a shell script and configured a Bamboo job to execute it.

Following that, I created another docker-compose file to utilize the pre-filled images for setting up the backend environment. This was successful, as I managed to start the backend environment in less than 2 minutes, compared to the previous duration of around 15-20 minutes.




Additionally, I opened a draft PR to update the docker-compose file used for the e2e tests:

Furthermore, I opened another PR for the docker-compose file which is to be used when creating the pre-filled images:

Once these PRs are merged, I will be able to update the Bamboo jobs and complete the task. For more detailed updates, please refer to:


Last week we had the mid-evaluation of the GSoC projects as well, and I submitted my evaluations for the projects I am mentoring. Apart from that, I had the weekly GSoC project update calls with the mentees and reviewed their PRs as usual.