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 }}
42 uses: actions/checkout@v4
44 - name: Set up Python ${{ matrix.python-version }}
45 uses: actions/setup-python@v5
47 python-version: ${{ matrix.python-version }}
50 uses: actions/cache@v4
52 # This path is specific to Ubuntu
54 # Look to see if there is a cache hit for the corresponding requirements file
55 key: v1-pip-${{ runner.os }}-${{ matrix.python-version }}
57 v1-pip-${{ runner.os }}
60 - name: Install dependencies
62 pip install setuptools
65 pip install myst-parser
66 sudo apt-get install -yy libacl1-dev
68 - name: Build the code
69 run: python ./setup.py build_ext -i
72 run: python -m pytest tests
77 - name: Re-build with coverage info
78 run: CFLAGS="-coverage" python ./setup.py build_ext -i
80 - name: Test with coverage
81 run: python -m pytest tests
83 - name: Upload coverage to Codecov
84 uses: codecov/codecov-action@v4
86 #files: ./coverage1.xml,./coverage2.xml
87 #directory: ./coverage/reports/
90 name: codecov-python-${{ matrix.python-version }}
91 token: ${{ secrets.CODECOV_TOKEN }}
92 #fail_ci_if_error: true
95 - name: Build documentation