summaryrefslogtreecommitdiff
path: root/.github/workflows/ci-tests.yml
blob: c089de4949fff43a136ea8a200f3249b65cd55c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: Build and test

on:
    # Only on pushes to main or one of the release branches we build on push
    push:
        branches:
            - main
            - "[0-9].[0-9]+-branch"
        tags:
    # Build pull requests
    pull_request:

jobs:
    test:
        strategy:
            matrix:
                py:
                    - "3.7"
                    - "3.8"
                    - "3.9"
                    - "3.10"
                    - "3.11"
                    - "pypy-3.8"
                os:
                    - "ubuntu-latest"
                    # - "windows-latest"
                    - "macos-latest"
                architecture:
                    - x64
                    - x86
                exclude:
                    # Linux and macOS don't have x86 python
                    - os: "ubuntu-latest"
                      architecture: x86
                    - os: "macos-latest"
                      architecture: x86
        name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ matrix.os }}"
        runs-on: ${{ matrix.os }}
        steps:
            - uses: actions/checkout@v3
            - name: Setup python
              uses: actions/setup-python@v4
              with:
                  python-version: ${{ matrix.py }}
                  architecture: ${{ matrix.architecture }}
            - run: pip install tox
            - name: Running tox
              run: tox -e py
    coverage:
        runs-on: ubuntu-latest
        name: Validate coverage
        steps:
            - uses: actions/checkout@v3
            - name: Setup python 3.10
              uses: actions/setup-python@v4
              with:
                  python-version: "3.10"
                  architecture: x64

            - run: pip install tox
            - run: tox -e py310,coverage
    docs:
        runs-on: ubuntu-latest
        name: Build the documentation
        steps:
            - uses: actions/checkout@v3
            - name: Setup python
              uses: actions/setup-python@v4
              with:
                  python-version: "3.10"
                  architecture: x64
            - run: pip install tox
            - run: tox -e docs
    lint:
        runs-on: ubuntu-latest
        name: Lint the package
        steps:
            - uses: actions/checkout@v3
            - name: Setup python
              uses: actions/setup-python@v4
              with:
                  python-version: "3.10"
                  architecture: x64
            - run: pip install tox
            - run: tox -e lint