2 # Trigger the workflow on push or
3 # pull request, but only for the
11 # Allow manual triggering
13 # Weekly run to account for
14 # changed dependencies.
22 runs-on: ${{ matrix.os }}
41 uses: actions/checkout@v4
43 - name: Set up Python ${{ matrix.python-version }}
44 uses: actions/setup-python@v5
46 python-version: ${{ matrix.python-version }}
49 uses: actions/cache@v4
51 # This path is specific to Ubuntu
53 # Look to see if there is a cache hit for the corresponding requirements file
54 key: v1-pip-${{ runner.os }}-${{ matrix.python-version }}
56 v1-pip-${{ runner.os }}
59 - name: Install dependencies
61 pip install setuptools
64 pip install myst-parser
65 sudo apt-get install -yy libacl1-dev
67 - name: Build the code
68 run: python ./setup.py build_ext -i
71 run: python -m pytest tests
76 - name: Re-build with coverage info
77 run: CFLAGS="-coverage" python ./setup.py build_ext -i
79 - name: Test with coverage
80 run: python -m pytest tests
82 - name: Upload coverage to Codecov
83 uses: codecov/codecov-action@v4
85 #files: ./coverage1.xml,./coverage2.xml
86 #directory: ./coverage/reports/
89 name: codecov-python-${{ matrix.python-version }}
90 token: ${{ secrets.CODECOV_TOKEN }}
91 #fail_ci_if_error: true
94 - name: Build documentation