1name: Test
2
3on: [push, pull_request]
4
5jobs:
6  build:
7    runs-on: ubuntu-latest
8    strategy:
9      fail-fast: false
10      matrix:
11        python-version: ['3.7', '3.8', '3.9', '3.10']
12    steps:
13      - uses: actions/checkout@v1
14      - name: Set up Python
15        uses: actions/setup-python@v1
16        with:
17          python-version: ${{ matrix.python-version }}
18      - name: install dependencies
19        run: |
20          pip3 install -r scripts/requirements.txt
21          pip3 install -r scripts/requirements-test.txt
22          pip3 install -r scripts/requirements-dev.txt
23      - name: lint scripts
24        run: flake8 --config scripts/.flake8 scripts
25      - name: run script tests
26        run: |
27          pytest scripts/tests \
28            --cov=scripts \
29            --cov-config scripts/.coveragerc \
30            --cov-report term \
31            --cov-report html \
32            -vv
33      - name: store coverage report
34        uses: actions/upload-artifact@v2
35        with:
36          name: coverage
37          path: htmlcov
38