# This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions name: Python package on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [3.5, 3.6, 3.7, 3.8] steps: - uses: actions/checkout@v2 with: fetch-depth: 9999 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install dependencies and prepare tests run: | set -x python -m pip install --upgrade pip python --version; git --version git submodule update --init --recursive git fetch --tags pip install -r test-requirements.txt TRAVIS=yes ./init-tests-after-clone.sh git config --global user.email "travis@ci.com" git config --global user.name "Travis Runner" # If we rewrite the user's config by accident, we will mess it up # and cause subsequent tests to fail cat test/fixtures/.gitconfig >> ~/.gitconfig - name: Lint with flake8 run: | set -x pip install flake8 # stop the build if there are Python syntax errors or undefined names flake8 --ignore=W293,E265,E266,W503,W504,E731 --count --show-source --statistics - name: Test with nose run: | set -x pip install nose nosetests -v --with-coverage - name: Documentation run: | set -x pip install -r doc/requirements.txt make -C doc html