-
Notifications
You must be signed in to change notification settings - Fork 162
136 lines (134 loc) · 3.34 KB
/
ci-tests.yml
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: Build and test
on:
# Build only on pushes to main or one of the release branches
push:
branches:
- main
- "[0-9].[0-9]+-branch"
tags:
# Build pull requests
pull_request:
jobs:
test:
strategy:
matrix:
py:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "pypy-3.10"
os:
- "ubuntu-latest"
- "windows-latest"
- "macos-latest"
architecture:
- x64
- x86
include:
# Only run coverage on ubuntu-latest, except on pypy3
- os: "ubuntu-latest"
pytest-args: "--cov"
- os: "ubuntu-latest"
py: "pypy-3.7"
pytest-args: ""
exclude:
# Linux and macOS don't have x86 python
- os: "ubuntu-latest"
architecture: x86
- os: "macos-latest"
architecture: x86
# PyPy3 on Windows doesn't seem to work
- os: "windows-latest"
py: "pypy-3.7"
# See: https://github.com/actions/setup-python/issues/850
- os: macos-latest
py: "3.7"
- os: macos-latest
py: "3.8"
- os: macos-latest
py: "3.9"
- os: macos-latest
py: "3.10"
name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py }}
architecture: ${{ matrix.architecture }}
- run: pip install tox
- name: Running tox
run: tox -e py -- ${{ matrix.pytest-args }}
functional3:
runs-on: ubuntu-latest
name: Functional Python 3 web tests
env:
DISPLAY: ":99"
services:
selenium:
image: "selenium/standalone-firefox"
ports:
- 4444:4444
- 5900:5900
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: 3.11
architecture: x64
- name: Install requirements
run: |
sudo apt-get update
sudo apt-get install gettext
pip install tox
- name: Set URL environment variable
run: |
echo "URL=http://`hostname -i`:8523" >> $GITHUB_ENV
echo "URL: "$URL
- name: Run functional3 web tests
run: |
tox -e functional3
coverage:
runs-on: ubuntu-latest
name: Validate coverage
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: 3.11
architecture: x64
- run: |
pip install tox
tox -e py311-cover,coverage
docs:
runs-on: ubuntu-latest
name: Build the documentation
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: 3.11
architecture: x64
- run: |
pip install tox
tox -e docs
lint:
runs-on: ubuntu-latest
name: Lint the package
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: 3.11
architecture: x64
- run: |
pip install tox
tox -e lint