Skip to content

Commit

Permalink
O3-2241: Use pre-filled docker images for running e2e tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Piumal1999 committed Jul 6, 2023
1 parent 2d15566 commit 1071c72
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 37 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This docker compose file is used to create a backend environment for the e2e.yml workflow.
# This docker compose file is used to create a backend environment without volumes.
version: "3.7"

services:
Expand All @@ -17,23 +17,16 @@ services:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/openmrs"]
timeout: 5s
volumes:
- openmrs-data:/openmrs/data
ports:
- 9000:8080

# MariaDB
db:
image: mariadb:10.8.2
command: "mysqld --character-set-server=utf8 --collation-server=utf8_general_ci"
command: "mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --datadir=/openmrs-db"
environment:
MYSQL_DATABASE: openmrs
MYSQL_USER: ${OPENMRS_DB_USER:-openmrs}
MYSQL_PASSWORD: ${OPENMRS_DB_PASSWORD:-openmrs}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-openmrs}
volumes:
- db-data:/var/lib/mysql

volumes:
openmrs-data: ~
db-data: ~
30 changes: 30 additions & 0 deletions e2e/support/bamboo/prefill-docker.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

# Run docker-compose in detached mode
docker-compose -f docker-compose-no-volumes.yml up -d

# Wait for the backend to start
while [ "$(curl -s -o /dev/null -w ''%{http_code}'' http://localhost:9000/openmrs/login.htm)" != "200" ]; do
echo "Waiting for the backend to be up..."
sleep 10
done

# Get the container IDs
backend_container_id=$(docker ps --filter "ancestor=openmrs/openmrs-reference-application-3-backend:nightly" --format "{{.ID}}")
db_container_id=$(docker ps --filter "ancestor=mariadb:10.8.2" --format "{{.ID}}")

# Commit the containers as snapshots
docker commit "$backend_container_id" openmrs-backend-snapshot
docker commit "$db_container_id" openmrs-db-snapshot

# Tag the containers
docker tag openmrs-db-snapshot piumal1999/openmrs-reference-application-3-db-amd64:nightly-with-data
docker tag openmrs-backend-snapshot piumal1999/openmrs-reference-application-3-backend-amd64:nightly-with-data

# Push the images
docker push piumal1999/openmrs-reference-application-3-db-amd64:nightly-with-data
docker push piumal1999/openmrs-reference-application-3-backend-amd64:nightly-with-data

# Stop all services
echo "Stopping all services..."
docker-compose -f docker-compose-no-volumes.yml down
30 changes: 2 additions & 28 deletions e2e/support/github/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,11 @@ version: "3.7"

services:
backend:
image: openmrs/openmrs-reference-application-3-backend:${TAG:-nightly}
image: piumal1999/openmrs-reference-application-3-backend-amd64:nightly-with-data #TODO: replace with OMRS docker image
depends_on:
- db
environment:
OMRS_CONFIG_MODULE_WEB_ADMIN: "true"
OMRS_CONFIG_AUTO_UPDATE_DATABASE: "true"
OMRS_CONFIG_CREATE_TABLES: "true"
OMRS_CONFIG_CONNECTION_SERVER: db
OMRS_CONFIG_CONNECTION_DATABASE: openmrs
OMRS_CONFIG_CONNECTION_USERNAME: ${OPENMRS_DB_USER:-openmrs}
OMRS_CONFIG_CONNECTION_PASSWORD: ${OPENMRS_DB_PASSWORD:-openmrs}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/openmrs"]
timeout: 5s
volumes:
- openmrs-data:/openmrs/data
ports:
- 9000:8080

# MariaDB
db:
image: mariadb:10.8.2
command: "mysqld --character-set-server=utf8 --collation-server=utf8_general_ci"
environment:
MYSQL_DATABASE: openmrs
MYSQL_USER: ${OPENMRS_DB_USER:-openmrs}
MYSQL_PASSWORD: ${OPENMRS_DB_PASSWORD:-openmrs}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-openmrs}
volumes:
- db-data:/var/lib/mysql

volumes:
openmrs-data: ~
db-data: ~
image: piumal1999/openmrs-reference-application-3-db-amd64:nightly-with-data #TODO: replace with OMRS docker image

0 comments on commit 1071c72

Please sign in to comment.