@@ -32,26 +32,23 @@ jobs:
3232 fail-fast : false
3333 matrix :
3434 python_version :
35- - 3.8
36- - 3.9
35+ - " 3.9"
3736 - " 3.10"
3837 - " 3.11"
3938 - " 3.12"
39+ - " 3.13"
4040 # cryptography is not compatible with older PyPy versions
41- - " pypy-3.8"
41+ - " pypy-3.9"
42+ - " pypy-3.10"
4243 os :
4344 - ubuntu-latest
44- include :
45- - python_version : pyjion
46- os : ubuntu-20.04
4745
4846 steps :
4947 - uses : actions/checkout@master
5048 with :
5149 fetch-depth : 1
5250
5351 - name : Use Python ${{ matrix.python_version }}
54- if : ${{ matrix.python_version != 'pyjion' }}
5552 uses : actions/setup-python@v5
5653 with :
5754 python-version : ${{ matrix.python_version }}
6158 sudo DEBIAN_FRONTEND=noninteractive apt-get update
6259 sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq gcc libvirt-dev
6360
64- - name : Use Python 3.10 (pyjion)
65- if : ${{ matrix.python_version == 'pyjion' }}
66- uses : actions/setup-python@v5
67- with :
68- python-version : " 3.10"
69-
70- # From https://github.com/tonybaloney/Pyjion/blob/develop/main/.github/workflows/benchmark.yml#L26 (MIT)
71- - name : Install OS / deb dependencies
72- if : ${{ matrix.python_version == 'pyjion' }}
73- run : |
74- sudo DEBIAN_FRONTEND=noninteractive apt-get update
75- sudo DEBIAN_FRONTEND=noninteractive apt-get install -yq cmake llvm-9 clang-9 autoconf automake \
76- libtool build-essential python curl git lldb-6.0 liblldb-6.0-dev \
77- libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev \
78- libssl-dev libnuma-dev libkrb5-dev zlib1g-dev
79-
80- - name : Setup Dotnet 6
81- if : ${{ matrix.python_version == 'pyjion' }}
82- uses : actions/setup-dotnet@v4.0.0
83- with :
84- dotnet-version : " 6.0.100"
85-
8661 - name : Cache Python Dependencies
8762 uses : actions/cache@v4
8863 with :
9166 restore-keys : |
9267 ${{ runner.os }}-pip-
9368
94- - name : Install Pyjion
95- if : ${{ matrix.python_version == 'pyjion' }}
96- run : |
97- pip install pyjion
98-
9969 - name : Install Python Dependencies
10070 run : |
10171 pip install -r requirements-ci.txt
10575 tox -e py${{ matrix.python_version }}
10676
10777 - name : Run dist install checks tox target
108- # NOTE: 3.12 will be failing until we migrate away from setup.py
109- if : ${{ matrix.python_version != 'pypy-3.7' && matrix.python_version != 'pypy-3.8' && matrix.python_version != 'pyjion' && matrix.python_version != '3.12-dev' }}
78+ if : ${{ matrix.python_version != 'pypy-3.9' && matrix.python_version != 'pypy-3.10' }}
11079 run : |
11180 tox -e py${{ matrix.python_version }}-dist,py${{ matrix.python_version }}-dist-wheel
11281
11685
11786 strategy :
11887 matrix :
119- python_version : [3.8 ]
88+ python_version : [3.9 ]
12089
12190 steps :
12291 - uses : actions/checkout@master
@@ -150,7 +119,7 @@ jobs:
150119 tox -e coverage-ci
151120
152121 - name : Upload Coverage to codecov.io
153- uses : codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5 .0
122+ uses : codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4 .0
154123 with :
155124 # We utilize secret for more realiable builds. Without secret being set, upload step
156125 # fails fairly often.
@@ -164,7 +133,7 @@ jobs:
164133
165134 strategy :
166135 matrix :
167- python_version : [3.8 ]
136+ python_version : [3.9 ]
168137
169138 steps :
170139 - uses : actions/checkout@master
@@ -207,7 +176,7 @@ jobs:
207176
208177 strategy :
209178 matrix :
210- python_version : [3.8 ]
179+ python_version : [3.9 ]
211180
212181 steps :
213182 - uses : actions/checkout@master
@@ -256,7 +225,7 @@ jobs:
256225 tar -xzvf "${TARBALL_FILENAME}"
257226
258227 cd "apache_libcloud-${VERSION}/"
259- tox -epy3.8
228+ tox -c tox.ini - epy3.9
260229
261230 - name : Verify Wheel Release Artifact
262231 run : |
@@ -275,16 +244,16 @@ jobs:
275244 # repo root so we can run the tests
276245 cp ../../tox.ini .
277246 cp ../../requirements-tests.txt .
278- cp ../../libcloud/test/secrets.py-dist libcloud/test/secrets.py
279- tox -epy3.8
247+ cp ../../libcloud/test/secrets.py-dist libcloud/test/secrets.py-dist
248+ tox -c tox.ini - epy3.9
280249
281250 build_test_docker_image :
282251 name : Build and Verify Docker Image
283252 runs-on : ubuntu-latest
284253
285254 strategy :
286255 matrix :
287- python_version : [3.8 ]
256+ python_version : [3.9 ]
288257
289258 steps :
290259 - uses : actions/checkout@master
@@ -308,7 +277,7 @@ jobs:
308277
309278 strategy :
310279 matrix :
311- python_version : [3.8 ]
280+ python_version : [3.9 ]
312281
313282 steps :
314283 - uses : actions/checkout@master
@@ -376,7 +345,7 @@ jobs:
376345
377346 strategy :
378347 matrix :
379- python_version : [3.8 ]
348+ python_version : [3.9 ]
380349
381350 steps :
382351 - uses : actions/checkout@master
@@ -415,7 +384,7 @@ jobs:
415384
416385 strategy :
417386 matrix :
418- python_version : [3.8 ]
387+ python_version : [3.9 ]
419388
420389 steps :
421390 - name : Print Environment Info
0 commit comments