FL Support #1583
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration local docker workflow | |
on: pull_request | |
jobs: | |
setup: | |
name: local-docker-deploy | |
runs-on: ubuntu-latest | |
env: | |
IMAGE_NAME: medperf-api:test | |
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 Singularity | |
working-directory: .. | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y build-essential libssl-dev uuid-dev libgpgme11-dev \ | |
squashfs-tools libseccomp-dev wget pkg-config git cryptsetup debootstrap libglib2.0-dev | |
wget https://go.dev/dl/go1.17.11.linux-amd64.tar.gz | |
sudo tar --directory=/usr/local -xzvf go1.17.11.linux-amd64.tar.gz | |
export PATH=/usr/local/go/bin:$PATH | |
wget https://github.com/sylabs/singularity/releases/download/v3.10.0/singularity-ce-3.10.0.tar.gz | |
tar -xzvf singularity-ce-3.10.0.tar.gz | |
cd singularity-ce-3.10.0 | |
./mconfig | |
cd builddir | |
make | |
sudo make install | |
- name: Install dependencies | |
working-directory: . | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e cli/ | |
pip install -r cli/test-requirements.txt | |
pip install -r server/requirements.txt | |
pip install -r server/test-requirements.txt | |
- name: Set server environment vars | |
working-directory: ./server | |
run: cp .env.local.local-auth.sqlite .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: | | |
cp ../mock_tokens/tokens.json tokens.json | |
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 medperf_api sh -c "pip install -r test-requirements.txt && python seed.py --server https://127.0.0.1:8080 --cert cert.crt --tokens tokens.json" | |
- name: Run chestxray demo | |
working-directory: . | |
run: sh cli/cli_chestxray_tutorial_test.sh -f | |
- name: Run client integration tests | |
working-directory: . | |
run: sh cli/cli_tests.sh -f |