6 runs-on: ${{ matrix.os }}
10 python-version: ['3.5', '3.6', '3.7', '3.8', '3.9']
14 installTyping: ${{ true }}
19 uses: actions/checkout@v2
21 - name: Set up Python ${{ matrix.python-version }}
22 uses: actions/setup-python@v2
24 python-version: ${{ matrix.python-version }}
27 uses: actions/cache@v2
29 # This path is specific to Ubuntu
31 # Look to see if there is a cache hit for the corresponding requirements file
32 key: v1-pip-${{ runner.os }}-${{ matrix.python-version }}
34 v1-pip-${{ runner.os }}
37 - name: Install dependencies
42 - name: Install typing for old Python
43 run: pip install typing
44 if: matrix.installTyping
47 run: sudo apt install -yy lcov
49 - name: Build the code
50 run: python ./setup.py build_ext -i
53 run: python -m pytest tests
58 - name: Re-build with coverage info
59 run: CFLAGS="-coverage" python ./setup.py build_ext -i
61 - name: Test with coverage
62 run: python -m pytest tests
64 - name: Convert data with lcov
65 run: lcov --capture --no-external --directory . --output-file coverage.info
67 - name: Coveralls Parallel
68 uses: coverallsapp/github-action@master
70 github-token: ${{ secrets.github_token }}
71 flag-name: run-${{ matrix.os }}-${{ matrix.python-version }}
73 path-to-lcov: coverage.info
75 - name: Upload coverage to Codecov
76 uses: codecov/codecov-action@v1
78 #files: ./coverage1.xml,./coverage2.xml
79 #directory: ./coverage/reports/
82 name: codecov-umbrella
83 #fail_ci_if_error: true
84 path_to_write_report: ./coverage/codecov_report.txt
89 runs-on: ubuntu-latest
91 - name: Coveralls Finished
92 uses: coverallsapp/github-action@master
94 github-token: ${{ secrets.github_token }}
95 parallel-finished: true