@@ -20,11 +20,11 @@ jobs:
20
20
with :
21
21
ignore_words_list : datas re-use
22
22
- name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
23
- uses : actions/setup-python@v4
23
+ uses : actions/setup-python@v5
24
24
with :
25
25
python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
26
26
- name : Install dependencies
27
- run : python -m pip install --upgrade nox pip setuptools
27
+ run : python -m pip install --upgrade nox pdm
28
28
- name : Run linters
29
29
run : nox -vs lint
30
30
- name : Validate new changelog entries
45
45
with :
46
46
python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
47
47
- name : Install dependencies
48
- run : python -m pip install --upgrade nox pip setuptools
48
+ run : python -m pip install --upgrade nox pdm
49
49
- name : Build the distribution
50
50
run : nox -vs build >> $GITHUB_OUTPUT
51
51
cleanup_buckets :
67
67
cache : " pip"
68
68
- name : Install dependencies
69
69
if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' }} # TODO: skip this whole job instead
70
- run : python -m pip install --upgrade nox pip setuptools
70
+ run : python -m pip install --upgrade nox pdm
71
71
- name : Find and remove old buckets
72
72
if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' }} # TODO: skip this whole job instead
73
73
run : nox -vs cleanup_buckets
@@ -81,31 +81,30 @@ jobs:
81
81
fail-fast : false
82
82
matrix :
83
83
os : ["ubuntu-latest", "macos-latest", "windows-latest"]
84
- # pypy version pin was required due 7.3.13 being broken https://foss.heptapod.net/pypy/pypy/-/issues/4021
85
- python-version : ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "pypy-3.10-nightly"]
84
+ python-version : ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "pypy3.9", "pypy3.10"]
86
85
exclude :
87
86
- os : " macos-latest"
88
- python-version : " pypy-3 .10-nightly "
87
+ python-version : " pypy3 .10"
89
88
- os : " windows-latest"
90
- python-version : " pypy-3 .10-nightly "
89
+ python-version : " pypy3 .10"
91
90
steps :
92
91
- uses : actions/checkout@v3
93
92
with :
94
93
fetch-depth : 0
95
94
- name : Set up Python ${{ matrix.python-version }}
96
- uses : actions/setup-python@v4
95
+ uses : actions/setup-python@v5
97
96
with :
98
97
python-version : ${{ matrix.python-version }}
99
98
- name : Install dependencies
100
- run : python -m pip install --upgrade nox pip setuptools
99
+ run : python -m pip install --upgrade nox pdm
101
100
- name : Run unit tests
102
- run : nox -vs unit
101
+ run : nox -vs unit -p ${{ matrix.python-version }}
103
102
- name : Run integration tests (without secrets)
104
- run : nox -vs integration -- -m "not require_secrets"
103
+ run : nox -vs integration -p ${{ matrix.python-version }} - - -m "not require_secrets"
105
104
- name : Run integration tests (with secrets)
106
105
# Limit CI workload by running integration tests with secrets only on edge Python versions.
107
- if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' && contains(fromJSON('["3.7", "pypy-3 .10-nightly ", "3.12"]'), matrix.python-version) }}
108
- run : nox -vs integration -- -m "require_secrets" --cleanup
106
+ if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' && contains(fromJSON('["3.7", "pypy3 .10", "3.12"]'), matrix.python-version) }}
107
+ run : nox -vs integration -p ${{ matrix.python-version }} - - -m "require_secrets" --cleanup
109
108
test-docker :
110
109
needs : cleanup_buckets
111
110
env :
@@ -117,13 +116,11 @@ jobs:
117
116
with :
118
117
fetch-depth : 0
119
118
- name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
120
- uses : actions/setup-python@v4
119
+ uses : actions/setup-python@v5
121
120
with :
122
121
python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
123
- - name : setup sudo NOX_PYTHONS
124
- run : echo NOX_PYTHONS=$(sudo python3 --version | cut -d ' ' -f 2) >> "$GITHUB_ENV"
125
122
- name : Install dependencies
126
- run : sudo python -m pip install --upgrade nox pip setuptools
123
+ run : sudo python -m pip install --upgrade nox pdm
127
124
- name : Generate Dockerfile
128
125
run : nox -vs generate_dockerfile
129
126
- name : Set up QEMU
@@ -139,7 +136,7 @@ jobs:
139
136
platforms : linux/amd64
140
137
- name : Run tests with docker
141
138
if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' }}
142
- run : sudo NOX_PYTHONS=$NOX_PYTHONS B2_TEST_APPLICATION_KEY=${{ env.B2_TEST_APPLICATION_KEY }} B2_TEST_APPLICATION_KEY_ID=${{ env.B2_TEST_APPLICATION_KEY_ID }} nox -vs docker_test -- backblazeit/b2:test
139
+ run : nox -vs docker_test -- backblazeit/b2:test
143
140
test-linux-bundle :
144
141
needs : cleanup_buckets
145
142
env :
@@ -158,7 +155,7 @@ jobs:
158
155
run : |
159
156
apt-get -y update
160
157
apt-get -y install patchelf
161
- python -m pip install --upgrade nox pip setuptools
158
+ python -m pip install --upgrade nox pdm
162
159
git config --global --add safe.directory '*'
163
160
- name : Bundle the distribution
164
161
id : bundle
@@ -167,10 +164,10 @@ jobs:
167
164
id : hashes
168
165
run : nox -vs make_dist_digest
169
166
- name : Run integration tests (without secrets)
170
- run : nox -vs integration -- --sut=${{ steps.bundle.outputs.sut_path }} -m "not require_secrets"
167
+ run : nox -vs integration -p ${{ env.PYTHON_DEFAULT_VERSION }} - - --sut=${{ steps.bundle.outputs.sut_path }} -m "not require_secrets"
171
168
- name : Run integration tests (with secrets)
172
169
if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' }}
173
- run : nox -vs integration -- --sut=${{ steps.bundle.outputs.sut_path }} -m "require_secrets" --cleanup
170
+ run : nox -vs integration -p ${{ env.PYTHON_DEFAULT_VERSION }} - - --sut=${{ steps.bundle.outputs.sut_path }} -m "require_secrets" --cleanup
174
171
- name : Upload assets
175
172
if : failure()
176
173
uses : actions/upload-artifact@v2
@@ -193,11 +190,11 @@ jobs:
193
190
with :
194
191
fetch-depth : 0
195
192
- name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
196
- uses : actions/setup-python@v4
193
+ uses : actions/setup-python@v5
197
194
with :
198
195
python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
199
196
- name : Install dependencies
200
- run : python -m pip install --upgrade nox pip setuptools
197
+ run : python -m pip install --upgrade nox pdm
201
198
- name : Bundle the distribution
202
199
id : bundle
203
200
shell : bash
@@ -206,10 +203,10 @@ jobs:
206
203
id : hashes
207
204
run : nox -vs make_dist_digest
208
205
- name : Run integration tests (without secrets)
209
- run : nox -vs integration -- --sut=${{ steps.bundle.outputs.sut_path }} -m "not require_secrets"
206
+ run : nox -vs integration -p ${{ env.PYTHON_DEFAULT_VERSION }} - - --sut=${{ steps.bundle.outputs.sut_path }} -m "not require_secrets"
210
207
- name : Run integration tests (with secrets)
211
208
if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' }}
212
- run : nox -vs integration -- --sut=${{ steps.bundle.outputs.sut_path }} -m "require_secrets" --cleanup
209
+ run : nox -vs integration -p ${{ env.PYTHON_DEFAULT_VERSION }} - - --sut=${{ steps.bundle.outputs.sut_path }} -m "require_secrets" --cleanup
213
210
- name : Upload assets
214
211
if : failure()
215
212
uses : actions/upload-artifact@v2
@@ -225,7 +222,7 @@ jobs:
225
222
with :
226
223
fetch-depth : 0
227
224
- name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
228
- uses : actions/setup-python@v4
225
+ uses : actions/setup-python@v5
229
226
with :
230
227
python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
231
228
- name : Install dependencies
@@ -234,6 +231,6 @@ jobs:
234
231
run : |
235
232
sudo apt-get update -y
236
233
sudo apt-get install -y graphviz plantuml
237
- python -m pip install --upgrade nox pip setuptools
234
+ python -m pip install --upgrade nox pdm
238
235
- name : Build the docs
239
236
run : nox --non-interactive -vs doc
0 commit comments