-
Notifications
You must be signed in to change notification settings - Fork 0
56 lines (51 loc) · 2 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: superduperreload
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ 'macos-latest', 'ubuntu-latest', 'windows-latest' ]
python-version: [ '3.8.x', '3.9.x', '3.10.x', '3.11.x' ]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ./
pip install -e ./core/.[dev]
- 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
flake8 . --exit-zero
- name: Run type checker with mypy
# only run on ubuntu-latest; should be same for any OS, and
# mypy seems to have issues on windows 3.6.x specifically
# wherein it gives a false positive syntax error
if: ${{ matrix.os == 'ubuntu-latest' }}
run: make typecheck
# - name: Compute coverage and run tests with ipytest (excluding typing)
# if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10.x'}}
# run: make xmlcov
- name: Run tests with ipytest, excluding typing and coverage
if: ${{ ! (matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10.x') }}
run: make check_no_typing
# - name: Upload coverage report
# if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10.x'}}
# uses: codecov/codecov-action@v1
# with:
# token: '${{ secrets.CODECOV_TOKEN }}'
# files: ./coverage.xml
# env_vars: PYTHON
# name: codecov-umbrella
# fail_ci_if_error: true
# verbose: true