@@ -28,6 +28,9 @@ concurrency:
28
28
group : ci-tests-${{ github.ref }}-1
29
29
cancel-in-progress : true
30
30
31
+ env :
32
+ DEFAULT_PYTHON : " 3.11"
33
+
31
34
jobs :
32
35
33
36
lint :
@@ -36,12 +39,12 @@ jobs:
36
39
!contains(github.event.head_commit.message, '[skip_ci]')
37
40
steps :
38
41
- name : Check out the repository
39
- uses : actions/checkout@v4.1.0
42
+ uses : actions/checkout@v4
40
43
41
- - name : Set up Python 3.10 # on 3.11 pip install in unstable: "canonicalize" fails occasionally
42
- uses : actions/setup-python@v4.7.1
44
+ - name : Set up Python
45
+ uses : actions/setup-python@v5
43
46
with :
44
- python-version : ' 3.10 '
47
+ python-version : ${{ env.DEFAULT_PYTHON }}
45
48
46
49
- name : Use frozen pip version
47
50
run : |
55
58
56
59
- name : Load poetry cache
57
60
id : cached-poetry-dependencies
58
- uses : actions/cache@v3.3.1
61
+ uses : actions/cache@v3
59
62
with :
60
63
path : |
61
64
.cache/pypoetry
@@ -81,14 +84,14 @@ jobs:
81
84
needs : lint
82
85
steps :
83
86
- name : Check out the repository
84
- uses : actions/checkout@v4.1.0
87
+ uses : actions/checkout@v4
85
88
with :
86
89
fetch-depth : 1
87
90
88
- - name : Set up Python 3.11
89
- uses : actions/setup-python@v4.7.1
91
+ - name : Set up Python
92
+ uses : actions/setup-python@v5
90
93
with :
91
- python-version : ' 3.11 '
94
+ python-version : ${{ env.DEFAULT_PYTHON }}
92
95
93
96
- name : Use frozen pip version
94
97
run : |
@@ -102,11 +105,11 @@ jobs:
102
105
103
106
- name : Load poetry cache
104
107
id : cached-poetry-dependencies
105
- uses : actions/cache@v3.3.1
108
+ uses : actions/cache@v3
106
109
with :
107
110
path : |
108
111
.cache/pypoetry
109
- key : poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
112
+ key : poetry-${{ runner.os }}-${{ env.DEFAULT_PYTHON }}-${{ hashFiles('**/poetry.lock') }}
110
113
111
114
- name : Install Poetry
112
115
run : |
@@ -127,17 +130,19 @@ jobs:
127
130
strategy :
128
131
fail-fast : false
129
132
matrix :
130
- os : [ubuntu-latest, macos-latest, windows-latest]
131
- python-version : ['3.9', '3.10', '3.11'] # h5py-3.9.0 doesn't have wheels for python 3.12, check on updates
133
+ os : [ ubuntu-latest, macos-latest, windows-latest ]
134
+ python-version : [ '3.10', '3.11' ]
135
+ # msgspec 0.18.5 fails on 3.9
136
+ # duckdb 0.9.2 doesn't work with 3.12 yet
132
137
133
138
steps :
134
139
135
140
- name : Checkout repository
136
- uses : actions/checkout@v4.1.0
141
+ uses : actions/checkout@v4
137
142
with :
138
143
fetch-depth : 1
139
144
140
- - uses : actions/setup-python@v4.7.1
145
+ - uses : actions/setup-python@v5
141
146
with :
142
147
python-version : ${{ matrix.python-version }}
143
148
architecture : x64
@@ -154,11 +159,11 @@ jobs:
154
159
155
160
- name : Load poetry cache
156
161
id : cached-poetry-dependencies
157
- uses : actions/cache@v3.3.1
162
+ uses : actions/cache@v3
158
163
with :
159
164
path : |
160
165
.cache/pypoetry
161
- key : poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
166
+ key : poetry-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
162
167
163
168
- name : Install Poetry
164
169
run : |
@@ -172,9 +177,9 @@ jobs:
172
177
run : nox --force-color --session tests --python ${{ matrix.python-version }}
173
178
174
179
- name : Upload coverage data
175
- uses : actions/upload-artifact@v3.1.3
180
+ uses : actions/upload-artifact@v4
176
181
with :
177
- name : coverage-data
182
+ name : coverage-data-${{ runner.os }}-${{ matrix.python-version }}
178
183
path : " .coverage.*"
179
184
180
185
coverage :
@@ -183,12 +188,12 @@ jobs:
183
188
steps :
184
189
185
190
- name : Check out the repository
186
- uses : actions/checkout@v4.1.0
191
+ uses : actions/checkout@v4
187
192
188
- - name : Set up Python 3.11
189
- uses : actions/setup-python@v4.7.1
193
+ - name : Set up Python
194
+ uses : actions/setup-python@v5
190
195
with :
191
- python-version : ' 3.11 '
196
+ python-version : ${{ env.DEFAULT_PYTHON }}
192
197
193
198
- name : Use frozen pip version
194
199
run : |
@@ -197,11 +202,11 @@ jobs:
197
202
198
203
- name : Load poetry cache
199
204
id : cached-poetry-dependencies
200
- uses : actions/cache@v3.3.1
205
+ uses : actions/cache@v3
201
206
with :
202
207
path : |
203
208
.cache/pypoetry
204
- key : poetry-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}
209
+ key : poetry-${{ runner.os }}-${{ env.DEFAULT_PYTHON }}-${{ hashFiles('**/poetry.lock') }}
205
210
206
211
- name : Install Poetry
207
212
run : |
@@ -217,9 +222,10 @@ jobs:
217
222
nox --version
218
223
219
224
- name : Download coverage data
220
- uses : actions/download-artifact@v3.0.2
225
+ uses : actions/download-artifact@v4
221
226
with :
222
- name : coverage-data
227
+ pattern : coverage-data-*
228
+ merge-multiple : true
223
229
224
230
- name : Combine coverage data and display human readable report
225
231
run : |
0 commit comments