diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 1386bf8..6c3ba34 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -14,31 +14,42 @@ jobs: runs-on: Ubuntu-20.04 strategy: matrix: - python-version: [3.7, 3.8, 3.9] + python-version: [ 3.7, 3.8, 3.9 ] steps: - - uses: actions/checkout@v2 - with: - # Whether to checkout submodules: `true` to checkout submodules or `recursive` to - # recursively checkout submodules. - submodules: 'true' - lfs: 'true' - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install flake8 ninja Pillow click nose parameterized pybind11-stubgen - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Compile and install - run: python setup.py build --debug install - - name: Test with nose - run: nosetests tests -d --with-coverage + - uses: actions/checkout@v2 + with: + # Whether to checkout submodules: `true` to checkout submodules or `recursive` to + # recursively checkout submodules. + submodules: 'true' + lfs: 'true' + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Set up Linux + if: runner.os == 'Linux' + run: | + echo "CC=gcc-10" >> $GITHUB_ENV + echo "CXX=g++-10" >> $GITHUB_ENV + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install flake8 ninja Pillow click nose parameterized pybind11-stubgen + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + + - name: Compile and install + run: python setup.py build --debug install + + - name: Test with nose + run: nosetests tests -d --with-coverage