1313
1414jobs :
1515 unit :
16- runs-on : ${{ matrix.os }}-latest
16+ runs-on : ${{ matrix.os }}
1717 strategy :
1818 fail-fast : false
1919 matrix :
20- os : [ubuntu, windows, macos]
20+ os : [ubuntu-latest, windows-latest, macos-latest]
21+ python-version : [3.7, 3.8, 3.9, '3.10', 3.11]
22+ exclude :
23+ - os : macos-latest
24+ python-version : 3.7
25+ - os : ubuntu-latest
26+ python-version : 3.7
27+ include :
28+ - os : ubuntu-22.04
29+ python-version : 3.7
2130
2231 steps :
2332 - uses : actions/checkout@v4
2433
25- - name : Set up Python 3.7
34+ - name : Set up Python ${{ matrix.python-version }}
2635 uses : actions/setup-python@v5
2736 with :
28- python-version : 3.7
29- if : matrix.os != 'macos'
37+ python-version : ${{ matrix.python-version }}
3038 - name : Install dependencies
3139 run : python .github/workflows/install_deps.py
3240 if : matrix.os != 'macos'
3341 - name : Run tests and flake8
3442 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
43+ - name : Upload logs from unit tests
44+ uses : actions/upload-artifact@v4
4845 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
46+ name : logs-${{ matrix.os }}-${{ matrix.python-version }}
47+ path : ${{ github.workspace }}/.coverage.*
48+ include-hidden-files : true
49+ retention-days : 1
5450
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
51+ post-unit-coverage :
52+ runs-on : ${{ matrix.os }}
53+ needs : unit
54+ strategy :
55+ fail-fast : false
56+ matrix :
57+ os : [ubuntu-latest, windows-latest, macos-latest]
58+ steps :
59+ - uses : actions/checkout@v4
6360
64- - name : Set up Python 3.11
61+ - name : Set up Python
6562 uses : actions/setup-python@v5
6663 with :
6764 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
7265
73- - name : Set up Python 3.12
74- uses : actions/setup-python@v5
75- with :
76- python-version : 3.12
7766 - name : Install dependencies
7867 run : python .github/workflows/install_deps.py
79- - name : Run tests and flake8
80- run : python .github/workflows/run_tests.py
8168
69+ - name : Download logs from unit tests
70+ uses : actions/download-artifact@v4
71+ with :
72+ pattern : logs-${{ matrix.os }}-*
73+ merge-multiple : true
8274 - name : Combine coverage
8375 run : python .github/workflows/run_tests.py combine
8476
@@ -93,27 +85,28 @@ jobs:
9385 run : python -m coveralls --service=github
9486
9587 behave :
96- runs-on : ${{ matrix.os }}-latest
88+ runs-on : ${{ matrix.os }}
9789 env :
9890 DCS : ${{ matrix.dcs }}
9991 ETCDVERSION : 3.4.23
10092 PGVERSION : 16.1-1 # for windows and macos
10193 strategy :
10294 fail-fast : false
10395 matrix :
104- os : [ubuntu]
105- python-version : [3.7, 3.12]
96+ os : [ubuntu-22.04]
97+ python-version : [3.13]
98+ # python-version: [3.7, 3.13]
10699 dcs : [etcd, etcd3, consul, exhibitor, kubernetes, raft]
107- include :
108- - os : macos
109- python-version : 3.8
110- dcs : raft
111- - os : macos
112- python-version : 3.9
113- dcs : etcd
114- - os : macos
115- python-version : 3.11
116- dcs : etcd3
100+ # include:
101+ # - os: macos-latest
102+ # python-version: 3.8
103+ # dcs: raft
104+ # - os: macos-latest
105+ # python-version: 3.9
106+ # dcs: etcd
107+ # - os: macos-latest
108+ # python-version: 3.11
109+ # dcs: etcd3
117110
118111 steps :
119112 - uses : actions/checkout@v4
@@ -131,7 +124,7 @@ jobs:
131124 sudo sh -c 'wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg'
132125 sudo sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/citusdata_community.gpg] https://packagecloud.io/citusdata/community/ubuntu/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/citusdata_community.list'
133126 sudo sh -c 'wget -qO - https://packagecloud.io/citusdata/community/gpgkey | gpg --dearmor > /etc/apt/trusted.gpg.d/citusdata_community.gpg'
134- if : matrix.os == 'ubuntu'
127+ if : startsWith( matrix.os, 'ubuntu')
135128 - name : Install dependencies
136129 run : python .github/workflows/install_deps.py
137130 - name : Run behave tests
@@ -154,7 +147,7 @@ jobs:
154147
155148 coveralls-finish :
156149 name : Finalize coveralls.io
157- needs : unit
150+ needs : post- unit-coverage
158151 runs-on : ubuntu-latest
159152 steps :
160153 - uses : actions/setup-python@v5
@@ -176,7 +169,7 @@ jobs:
176169 steps :
177170 - uses : actions/checkout@v4
178171
179- - name : Set up Python 3.12
172+ - name : Set up Python 3.11
180173 uses : actions/setup-python@v5
181174 with :
182175 python-version : 3.12
0 commit comments