44 pull_request :
55 push :
66 branches :
7- - multisite
8- - ' REL_[0-9]+_[0-9]+'
7+ - fix-behave-tests
98
109env :
1110 CODACY_PROJECT_TOKEN : ${{ secrets.CODACY_PROJECT_TOKEN }}
1211 SECRETS_AVAILABLE : ${{ secrets.CODACY_PROJECT_TOKEN != '' }}
1312
1413jobs :
15- unit :
16- runs-on : ${{ fromJson('{"ubuntu":"ubuntu-22.04","windows":"windows-latest","macos":"macos-latest"}')[matrix.os] }}
17- strategy :
18- fail-fast : false
19- matrix :
20- os : [ubuntu, windows, macos]
21-
22- steps :
23- - uses : actions/checkout@v4
24-
25- - name : Set up Python 3.7
26- uses : actions/setup-python@v5
27- with :
28- python-version : 3.7
29- if : matrix.os != 'macos'
30- - name : Install dependencies
31- run : python .github/workflows/install_deps.py
32- if : matrix.os != 'macos'
33- - name : Run tests and flake8
34- run : python .github/workflows/run_tests.py
35- if : matrix.os != 'macos'
36-
37- - name : Set up Python 3.8
38- uses : actions/setup-python@v5
39- with :
40- python-version : 3.8
41- - name : Install dependencies
42- run : python .github/workflows/install_deps.py
43- - name : Run tests and flake8
44- run : python .github/workflows/run_tests.py
45-
46- - name : Set up Python 3.9
47- uses : actions/setup-python@v5
48- with :
49- python-version : 3.9
50- - name : Install dependencies
51- run : python .github/workflows/install_deps.py
52- - name : Run tests and flake8
53- run : python .github/workflows/run_tests.py
54-
55- - name : Set up Python 3.10
56- uses : actions/setup-python@v5
57- with :
58- python-version : ' 3.10'
59- - name : Install dependencies
60- run : python .github/workflows/install_deps.py
61- - name : Run tests and flake8
62- run : python .github/workflows/run_tests.py
63-
64- - name : Set up Python 3.11
65- uses : actions/setup-python@v5
66- with :
67- python-version : 3.11
68- - name : Install dependencies
69- run : python .github/workflows/install_deps.py
70- - name : Run tests and flake8
71- run : python .github/workflows/run_tests.py
72-
73- - name : Set up Python 3.12
74- uses : actions/setup-python@v5
75- with :
76- python-version : 3.12
77- - name : Install dependencies
78- run : python .github/workflows/install_deps.py
79- - name : Run tests and flake8
80- run : python .github/workflows/run_tests.py
81-
82- - name : Set up Python 3.13
83- uses : actions/setup-python@v5
84- with :
85- python-version : 3.13
86- if : matrix.os != 'macos'
87- - name : Install dependencies
88- run : python .github/workflows/install_deps.py
89- if : matrix.os != 'macos'
90- - name : Run tests and flake8
91- run : python .github/workflows/run_tests.py
92- if : matrix.os != 'macos'
93-
94- - name : Combine coverage
95- run : python .github/workflows/run_tests.py combine
96-
97- - name : Install coveralls
98- run : python -m pip install coveralls
99-
100- - name : Upload Coverage
101- env :
102- COVERALLS_FLAG_NAME : unit-${{ matrix.os }}
103- COVERALLS_PARALLEL : ' true'
104- GITHUB_TOKEN : ${{ secrets.github_token }}
105- run : python -m coveralls --service=github
106-
10714 behave :
10815 runs-on : ${{ fromJson('{"ubuntu":"ubuntu-22.04","windows":"windows-latest","macos":"macos-latest"}')[matrix.os] }}
10916 env :
@@ -114,18 +21,8 @@ jobs:
11421 fail-fast : false
11522 matrix :
11623 os : [ubuntu]
117- python-version : [3.7, 3.13]
118- dcs : [etcd, etcd3, consul, exhibitor, kubernetes, raft]
119- include :
120- - os : macos
121- python-version : 3.8
122- dcs : raft
123- - os : macos
124- python-version : 3.9
125- dcs : etcd
126- - os : macos
127- python-version : 3.11
128- dcs : etcd3
24+ python-version : [3.13]
25+ dcs : [etcd, etcd3]
12926
13027 steps :
13128 - uses : actions/checkout@v4
@@ -164,96 +61,3 @@ jobs:
16461 run : bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r cobertura.xml -l Python --partial
16562 if : ${{ env.SECRETS_AVAILABLE == 'true' }}
16663
167- coveralls-finish :
168- name : Finalize coveralls.io
169- needs : unit
170- runs-on : ubuntu-latest
171- steps :
172- - uses : actions/setup-python@v5
173- - run : python -m pip install coveralls
174- - run : python -m coveralls --service=github --finish
175- env :
176- GITHUB_TOKEN : ${{ secrets.github_token }}
177-
178- codacy-final :
179- name : Finalize Codacy
180- needs : behave
181- runs-on : ubuntu-latest
182- steps :
183- - run : bash <(curl -Ls https://coverage.codacy.com/get.sh) final
184- if : ${{ env.SECRETS_AVAILABLE == 'true' }}
185-
186- pyright :
187- runs-on : ubuntu-latest
188- steps :
189- - uses : actions/checkout@v4
190-
191- - name : Set up Python 3.13
192- uses : actions/setup-python@v5
193- with :
194- python-version : 3.13
195-
196- - name : Install dependencies
197- run : python -m pip install -r requirements.txt psycopg2-binary psycopg
198-
199- - uses : jakebailey/pyright-action@v2
200- with :
201- version : 1.1.401
202-
203- ydiff :
204- name : Test compatibility with the latest version of ydiff
205- runs-on : ubuntu-latest
206- steps :
207- - uses : actions/checkout@v4
208-
209- - name : Set up Python 3.13
210- uses : actions/setup-python@v5
211- with :
212- python-version : 3.13
213- - name : Install dependencies
214- run : python .github/workflows/install_deps.py
215- - name : Update ydiff
216- run : python -m pip install -U ydiff
217- - name : Run tests
218- run : python -m pytest tests/test_ctl.py -v
219-
220- docs :
221- runs-on : ubuntu-latest
222- steps :
223- - uses : actions/checkout@v4
224-
225- - name : Set up Python 3.11
226- uses : actions/setup-python@v5
227- with :
228- python-version : 3.11
229- cache : pip
230-
231- - name : Install dependencies
232- run : pip install tox
233-
234- - name : Install package dependencies
235- run : |
236- sudo apt update \
237- && sudo apt install -y \
238- latexmk texlive-latex-extra tex-gyre \
239- --no-install-recommends
240-
241- - name : Generate documentation
242- run : tox -m docs
243-
244- isort :
245- runs-on : ubuntu-latest
246- steps :
247- - uses : actions/checkout@v4
248-
249- - name : Set up Python 3.12
250- uses : actions/setup-python@v5
251- with :
252- python-version : 3.12
253- cache : pip
254-
255- - name : isort
256- uses : isort/isort-action@master
257- with :
258- requirementsFiles : " requirements.txt requirements.dev.txt requirements.docs.txt"
259- sort-paths : " patroni tests features setup.py"
0 commit comments