@@ -20,11 +20,11 @@ jobs:
2020 with :
2121 ignore_words_list : datas re-use
2222 - name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
23- uses : actions/setup-python@v4
23+ uses : actions/setup-python@v5
2424 with :
2525 python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
2626 - name : Install dependencies
27- run : python -m pip install --upgrade nox pip setuptools
27+ run : python -m pip install --upgrade nox pdm
2828 - name : Run linters
2929 run : nox -vs lint
3030 - name : Validate new changelog entries
4545 with :
4646 python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
4747 - name : Install dependencies
48- run : python -m pip install --upgrade nox pip setuptools
48+ run : python -m pip install --upgrade nox pdm
4949 - name : Build the distribution
5050 run : nox -vs build >> $GITHUB_OUTPUT
5151 cleanup_buckets :
6767 cache : " pip"
6868 - name : Install dependencies
6969 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
7171 - name : Find and remove old buckets
7272 if : ${{ env.B2_TEST_APPLICATION_KEY != '' && env.B2_TEST_APPLICATION_KEY_ID != '' }} # TODO: skip this whole job instead
7373 run : nox -vs cleanup_buckets
@@ -81,31 +81,30 @@ jobs:
8181 fail-fast : false
8282 matrix :
8383 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"]
8685 exclude :
8786 - os : " macos-latest"
88- python-version : " pypy-3 .10-nightly "
87+ python-version : " pypy3 .10"
8988 - os : " windows-latest"
90- python-version : " pypy-3 .10-nightly "
89+ python-version : " pypy3 .10"
9190 steps :
9291 - uses : actions/checkout@v3
9392 with :
9493 fetch-depth : 0
9594 - name : Set up Python ${{ matrix.python-version }}
96- uses : actions/setup-python@v4
95+ uses : actions/setup-python@v5
9796 with :
9897 python-version : ${{ matrix.python-version }}
9998 - name : Install dependencies
100- run : python -m pip install --upgrade nox pip setuptools
99+ run : python -m pip install --upgrade nox pdm
101100 - name : Run unit tests
102- run : nox -vs unit
101+ run : nox -vs unit -p ${{ matrix.python-version }}
103102 - 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"
105104 - name : Run integration tests (with secrets)
106105 # 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
109108 test-docker :
110109 needs : cleanup_buckets
111110 env :
@@ -117,13 +116,11 @@ jobs:
117116 with :
118117 fetch-depth : 0
119118 - name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
120- uses : actions/setup-python@v4
119+ uses : actions/setup-python@v5
121120 with :
122121 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"
125122 - name : Install dependencies
126- run : sudo python -m pip install --upgrade nox pip setuptools
123+ run : sudo python -m pip install --upgrade nox pdm
127124 - name : Generate Dockerfile
128125 run : nox -vs generate_dockerfile
129126 - name : Set up QEMU
@@ -139,7 +136,7 @@ jobs:
139136 platforms : linux/amd64
140137 - name : Run tests with docker
141138 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
143140 test-linux-bundle :
144141 needs : cleanup_buckets
145142 env :
@@ -158,7 +155,7 @@ jobs:
158155 run : |
159156 apt-get -y update
160157 apt-get -y install patchelf
161- python -m pip install --upgrade nox pip setuptools
158+ python -m pip install --upgrade nox pdm
162159 git config --global --add safe.directory '*'
163160 - name : Bundle the distribution
164161 id : bundle
@@ -167,10 +164,10 @@ jobs:
167164 id : hashes
168165 run : nox -vs make_dist_digest
169166 - 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"
171168 - name : Run integration tests (with secrets)
172169 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
174171 - name : Upload assets
175172 if : failure()
176173 uses : actions/upload-artifact@v2
@@ -193,11 +190,11 @@ jobs:
193190 with :
194191 fetch-depth : 0
195192 - name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
196- uses : actions/setup-python@v4
193+ uses : actions/setup-python@v5
197194 with :
198195 python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
199196 - name : Install dependencies
200- run : python -m pip install --upgrade nox pip setuptools
197+ run : python -m pip install --upgrade nox pdm
201198 - name : Bundle the distribution
202199 id : bundle
203200 shell : bash
@@ -206,10 +203,10 @@ jobs:
206203 id : hashes
207204 run : nox -vs make_dist_digest
208205 - 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"
210207 - name : Run integration tests (with secrets)
211208 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
213210 - name : Upload assets
214211 if : failure()
215212 uses : actions/upload-artifact@v2
@@ -225,7 +222,7 @@ jobs:
225222 with :
226223 fetch-depth : 0
227224 - name : Set up Python ${{ env.PYTHON_DEFAULT_VERSION }}
228- uses : actions/setup-python@v4
225+ uses : actions/setup-python@v5
229226 with :
230227 python-version : ${{ env.PYTHON_DEFAULT_VERSION }}
231228 - name : Install dependencies
@@ -234,6 +231,6 @@ jobs:
234231 run : |
235232 sudo apt-get update -y
236233 sudo apt-get install -y graphviz plantuml
237- python -m pip install --upgrade nox pip setuptools
234+ python -m pip install --upgrade nox pdm
238235 - name : Build the docs
239236 run : nox --non-interactive -vs doc
0 commit comments