Skip to content

Unit Tests

Unit Tests #904

Workflow file for this run

name: Unit Tests
on:
push:
pull_request:
schedule:
- cron: '00 4 * * *' # daily at 4AM
jobs:
build:
env:
DISPLAY: ":0" # arbitrary
runs-on: ubuntu-latest
services:
mongodb:
image: mongo
ports:
- 27017:27017
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9"]
pip-selectors: ["pyqt5"]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
# Borrowed from napari CI
- name: Install Linux libraries
if: runner.os == 'Linux'
shell: bash -l {0}
run: |
sudo apt-get install -y xvfb
sudo /usr/bin/Xvfb $DISPLAY -screen 0 1280x1024x24 &
- name: Install
shell: bash -l {0}
run: source continuous_integration/scripts/install.sh ${{ matrix.pip-selectors }}
- name: start Kafka and Zookeeper for (some) tests
run: docker-compose -f continuous_integration/scripts/docker-compose-kafka.yml up -d
- name: Install test requirements
shell: bash -l {0}
run: |
set -vxeuo pipefail
python -m pip install -r requirements-dev.txt
python -m pip list
- name: Test with pytest
shell: bash -l {0}
run: |
set -vxeuo pipefail
coverage run -m pytest -v
coverage report