name: Python package on: [push] jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false max-parallel: 4 matrix: python-version: [3.7, 3.8] os: [ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@v1 - name: Setup Python environment uses: actions/setup-python@v1.1.1 with: python-version: ${{ matrix.python-version }} - name: Install Mac dependencies if: startsWith(matrix.os, 'mac') run: | brew update - name: Install ubuntu dependencies if: startsWith(matrix.os, 'ubuntu') run: | sudo apt-get update sudo apt-get install python3.7-venv python3.7-distutils git -y #sudo apt-get install libboost-all-dev libssl-dev - name: Run install script env: INSTALL_PYTHON_VERSION: ${{ matrix.python-version }} run: | sh install.sh - name: Install time lord run: | . ./activate sh install-timelord.sh - name: Install developer requirements run: | venv/bin/python -m pip install -r requirements-dev.txt - name: Lint source with flake8 run: | ./venv/bin/flake8 src - name: Lint source with mypy run: | ./venv/bin/mypy src tests - name: Test blockchain code with pytest run: | ./venv/bin/py.test tests -s -v