Skip to content

Workflow file for this run

name: TMP Test docker deploy
on: pull_request
jobs:
setup:
name: local-deploy
runs-on: ubuntu-latest
env:
IMAGE_NAME: medperf-api:test
MOCK_USERS_PASSWORD: "Benchmark123"
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install dependencies
working-directory: .
run: |
python -m pip install --upgrade pip
pip install -r server/requirements.txt
pip install -r server/test-requirements.txt
- name: Set server environment vars
working-directory: ./server
run: cp .env.example .env
- name: Generate SSL certificate
working-directory: ./server
run: sh setup-dev-server.sh -c cert.crt -k cert.key -d 0
- name: Build container image
working-directory: ./server
run: docker build -t ${{ env.IMAGE_NAME }} -f Dockerfile.gha .
- name: Run server in background
working-directory: ./server
run: PORT=8080 && docker run --name medperf_api -d -p 8000:${PORT} -e PORT=${PORT} -e SSL_FLAGS="--certfile=cert.crt --keyfile=cert.key" ${{ env.IMAGE_NAME }}
- name: Run server integration tests
working-directory: ./server
run: docker exec -e MOCK_USERS_PASSWORD medperf_api sh -c "pip install -r test-requirements.txt && python seed.py --server https://127.0.0.1:8080 --cert cert.crt"