6 runs-on: ${{ matrix.os }}
22 installTyping: ${{ true }}
27 uses: actions/checkout@v2
29 - name: Set up Python ${{ matrix.python-version }}
30 uses: actions/setup-python@v2
32 python-version: ${{ matrix.python-version }}
35 uses: actions/cache@v2
37 # This path is specific to Ubuntu
39 # Look to see if there is a cache hit for the corresponding requirements file
40 key: v1-pip-${{ runner.os }}-${{ matrix.python-version }}
42 v1-pip-${{ runner.os }}
45 - name: Install dependencies
49 sudo apt-get install -yy libacl1-dev
51 - name: Install typing for old Python
52 run: pip install typing
53 if: matrix.installTyping
55 - name: Build the code
56 run: python ./setup.py build_ext -i
59 run: python -m pytest tests
64 - name: Re-build with coverage info
65 run: CFLAGS="-coverage" python ./setup.py build_ext -i
67 - name: Test with coverage
68 run: python -m pytest tests
70 - name: Upload coverage to Codecov
71 uses: codecov/codecov-action@v1
73 #files: ./coverage1.xml,./coverage2.xml
74 #directory: ./coverage/reports/
77 name: codecov-python-${{ matrix.python-version }}
78 #fail_ci_if_error: true
79 path_to_write_report: ./codecov-report.txt
82 - name: Archive code coverage result
83 uses: 'actions/upload-artifact@v2'
85 name: code-coverage-${{ matrix.os }}-${{ matrix.python-version }}
86 path: codecov-report.txt