Skip to content

Commit 52dd924

Browse files
authored
Merge branch 'trunk' into feature/ovh-vps-support
2 parents e699677 + b743157 commit 52dd924

46 files changed

Lines changed: 237 additions & 2678 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.asf.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ github:
4848
- "Unit Tests (Python 3.12)"
4949
- "Unit Tests (Python 3.13)"
5050
- "Dependency Review"
51-
- "Run Various Lint and Other Checks (3.10)"
52-
- "Build and upload Documentation (3.10)"
51+
- "Run Various Lint and Other Checks (3.12)"
52+
- "Build and upload Documentation (3.12)"
5353

5454
notifications:
5555
jobs: notifications@libcloud.apache.org

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
language: [ 'python' ]
3131

3232
steps:
33-
- uses: actions/checkout@v6
33+
- uses: actions/checkout@v7
3434
- name: Initialize CodeQL
3535
uses: github/codeql-action/init@v4
3636
with:

.github/workflows/depsreview.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ jobs:
1818
timeout-minutes: 15
1919

2020
steps:
21-
- uses: actions/checkout@v6
21+
- uses: actions/checkout@v7
2222
- name: Dependency Review
23-
uses: actions/dependency-review-action@v4
23+
uses: actions/dependency-review-action@v5
2424
# TODO: We really want one check for direct prod dependencies where we
2525
# only allows ASF, MIT, BSD and nother one for testing / dev
2626
# dependencies where we also allow GPL, etc.

.github/workflows/install-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
- "pypy-3.10"
3030

3131
steps:
32-
- uses: actions/checkout@v6
32+
- uses: actions/checkout@v7
3333
- name: Use Python ${{ matrix.python_version }}
3434
uses: actions/setup-python@v6
3535
with:
@@ -50,7 +50,7 @@ jobs:
5050
timeout-minutes: 5
5151

5252
steps:
53-
- uses: actions/checkout@v6
53+
- uses: actions/checkout@v7
5454
- name: Verify Checksums
5555
run: |
5656
LAST_STABLE_VERSION=$(curl -s --fail https://pypi.org/pypi/apache-libcloud/json | jq ".releases | to_entries | last | .key" -r)

.github/workflows/integration-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ jobs:
3030

3131
strategy:
3232
matrix:
33-
python_version: [ "3.10" ]
33+
python_version: [ "3.12" ]
3434

3535
steps:
36-
- uses: actions/checkout@v6
36+
- uses: actions/checkout@v7
3737
- name: Use Python ${{ matrix.python_version }}
3838
uses: actions/setup-python@v6
3939
with:
4040
python-version: ${{ matrix.python_version }}
4141
- name: Install uv
42-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
42+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
4343

4444
- name: Install OS / deb dependencies
4545
run: |

.github/workflows/main.yml

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ jobs:
4343
- ubuntu-latest
4444

4545
steps:
46-
- uses: actions/checkout@v6
46+
- uses: actions/checkout@v7
4747
- name: Use Python ${{ matrix.python_version }}
4848
uses: actions/setup-python@v6
4949
with:
5050
python-version: ${{ matrix.python_version }}
5151
- name: Install uv
52-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
52+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
5353

5454
- name: Install OS / deb dependencies
5555
run: |
@@ -83,16 +83,16 @@ jobs:
8383

8484
strategy:
8585
matrix:
86-
python_version: [ "3.10" ]
86+
python_version: [ "3.12" ]
8787

8888
steps:
89-
- uses: actions/checkout@v6
89+
- uses: actions/checkout@v7
9090
- name: Use Python ${{ matrix.python_version }}
9191
uses: actions/setup-python@v6
9292
with:
9393
python-version: ${{ matrix.python_version }}
9494
- name: Install uv
95-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
95+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
9696

9797
- name: Install OS / deb dependencies
9898
run: |
@@ -117,7 +117,7 @@ jobs:
117117
run: tox -e coverage-ci
118118

119119
- name: Upload Coverage to codecov.io
120-
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
120+
uses: codecov/codecov-action@e53489f4d376d79066609109e7a95a29eb3740b1 # v7.0.0
121121
with:
122122
# We utilize secret for more realiable builds. Without secret being set, upload step
123123
# fails fairly often.
@@ -131,16 +131,16 @@ jobs:
131131

132132
strategy:
133133
matrix:
134-
python_version: [ "3.10" ]
134+
python_version: [ "3.12" ]
135135

136136
steps:
137-
- uses: actions/checkout@v6
137+
- uses: actions/checkout@v7
138138
- name: Use Python ${{ matrix.python_version }}
139139
uses: actions/setup-python@v6
140140
with:
141141
python-version: ${{ matrix.python_version }}
142142
- name: Install uv
143-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
143+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
144144

145145
- name: Install OS / deb dependencies
146146
run: |
@@ -173,10 +173,10 @@ jobs:
173173

174174
strategy:
175175
matrix:
176-
python_version: [ "3.10" ]
176+
python_version: [ "3.12" ]
177177

178178
steps:
179-
- uses: actions/checkout@v6
179+
- uses: actions/checkout@v7
180180

181181
- name: Install system dependencies
182182
run: |
@@ -188,7 +188,7 @@ jobs:
188188
with:
189189
python-version: ${{ matrix.python_version }}
190190
- name: Install uv
191-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
191+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
192192
- name: Install OS / deb dependencies
193193
run: |
194194
sudo DEBIAN_FRONTEND=noninteractive apt-get update
@@ -231,7 +231,7 @@ jobs:
231231
tar -xzvf "${TARBALL_FILENAME}"
232232
233233
cd "apache_libcloud-${VERSION}/"
234-
tox -c tox.ini -epy3.10
234+
tox -c tox.ini -epy3.12
235235
236236
- name: Verify Wheel Release Artifact
237237
run: |
@@ -251,18 +251,18 @@ jobs:
251251
cp ../../tox.ini .
252252
cp ../../pyproject.toml .
253253
cp ../../libcloud/test/secrets.py-dist libcloud/test/secrets.py-dist
254-
tox -c tox.ini -epy3.10
254+
tox -c tox.ini -epy3.12
255255
256256
build_test_docker_image:
257257
name: Build and Verify Docker Image
258258
runs-on: ubuntu-latest
259259

260260
strategy:
261261
matrix:
262-
python_version: [ "3.10" ]
262+
python_version: [ "3.12" ]
263263

264264
steps:
265-
- uses: actions/checkout@v6
265+
- uses: actions/checkout@v7
266266
- name: Build Testing Docker Image
267267
run: docker build -f contrib/Dockerfile -t libcloud_runtest_img .
268268
- name: Verify Image Works
@@ -278,16 +278,16 @@ jobs:
278278

279279
strategy:
280280
matrix:
281-
python_version: [ "3.10" ]
281+
python_version: [ "3.12" ]
282282

283283
steps:
284-
- uses: actions/checkout@v6
284+
- uses: actions/checkout@v7
285285
- name: Use Python ${{ matrix.python_version }}
286286
uses: actions/setup-python@v6
287287
with:
288288
python-version: ${{ matrix.python_version }}
289289
- name: Install uv
290-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
290+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
291291

292292
- name: Install OS / deb dependencies
293293
run: |
@@ -351,16 +351,16 @@ jobs:
351351

352352
strategy:
353353
matrix:
354-
python_version: [ "3.10" ]
354+
python_version: [ "3.12" ]
355355

356356
steps:
357-
- uses: actions/checkout@v6
357+
- uses: actions/checkout@v7
358358
- name: Use Python ${{ matrix.python_version }}
359359
uses: actions/setup-python@v6
360360
with:
361361
python-version: ${{ matrix.python_version }}
362362
- name: Install uv
363-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
363+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
364364

365365
- name: Install OS / deb dependencies
366366
run: |
@@ -390,16 +390,16 @@ jobs:
390390

391391
strategy:
392392
matrix:
393-
python_version: [ "3.10" ]
393+
python_version: [ "3.12" ]
394394

395395
steps:
396-
- uses: actions/checkout@v6
396+
- uses: actions/checkout@v7
397397
- name: Use Python ${{ matrix.python_version }}
398398
uses: actions/setup-python@v6
399399
with:
400400
python-version: ${{ matrix.python_version }}
401401
- name: Install uv
402-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
402+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
403403

404404
- name: Print Environment Info
405405
run: printenv | sort

.github/workflows/publish_dev_artifact.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ jobs:
2323
timeout-minutes: 5
2424

2525
steps:
26-
- uses: actions/checkout@v6
26+
- uses: actions/checkout@v7
2727
- name: Use Python ${{ matrix.python_version }}
2828
uses: actions/setup-python@v6
2929
with:
30-
python-version: "3.10"
30+
python-version: "3.12"
3131
- name: Install uv
32-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
32+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
3333

3434
- name: Print Environment Info
3535
run: printenv | sort
@@ -48,7 +48,7 @@ jobs:
4848
ls -la dist | grep .whl
4949
5050
- name: Store dev artifacts - .tar.gz
51-
uses: actions/upload-artifact@v6
51+
uses: actions/upload-artifact@v7
5252
with:
5353
name: libcloud-dev-tarball
5454
retention-days: 60
@@ -57,7 +57,7 @@ jobs:
5757
dist/*.tar.gz
5858
5959
- name: Store dev artifacts - .whl
60-
uses: actions/upload-artifact@v6
60+
uses: actions/upload-artifact@v7
6161
with:
6262
name: libcloud-dev-wheel
6363
retention-days: 60

.github/workflows/publish_pricing_to_s3.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ jobs:
1717

1818
strategy:
1919
matrix:
20-
python_version: [ "3.10" ]
20+
python_version: [ "3.12" ]
2121

2222
steps:
23-
- uses: actions/checkout@v6
23+
- uses: actions/checkout@v7
2424
- name: Use Python ${{ matrix.python_version }}
2525
uses: actions/setup-python@v6
2626
with:
2727
python-version: ${{ matrix.python_version }}
2828
- name: Install uv
29-
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
29+
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3
3030

3131
- name: Print Environment Info
3232
run: printenv | sort

contrib/Dockerfile

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
# Docker image used for running tests the under all the supported Python
1717
# versions
18-
FROM ubuntu:22.04
18+
FROM ubuntu:24.04
1919

2020
ARG DEBIAN_FRONTEND=noninteractive
2121

@@ -42,8 +42,6 @@ RUN set -e && \
4242
pypy3 \
4343
pypy3-dev \
4444
python3-pip \
45-
python3-distutils \
46-
python3.10-distutils \
4745
libvirt-dev \
4846
# Needed by libvirt driver
4947
pkg-config
@@ -54,9 +52,10 @@ COPY . /libcloud
5452
RUN if [ ! -f "/libcloud/README.rst" ]; then echo "libcloud/README.rst file not found, you are likely not running docker build from the repository root directory"; exit 1; fi
5553

5654
WORKDIR /libcloud
55+
ENV PATH="/libcloud/.venv/bin:${PATH}"
5756

5857
RUN set -e && \
59-
python3.10 -m pip install uv && \
60-
python3.10 -m uv pip install --no-cache-dir --group ci "."
58+
python3.12 -m pip install --break-system-packages uv && \
59+
python3.12 -m uv sync --group ci --no-dev
6160

62-
CMD ["tox", "-e", "lint,isort-check,black-check,bandit,py3.10,py3.11,py3.12,py3.13,pypypy3.10"]
61+
CMD ["tox", "-e", "lint,isort-check,black-check,bandit,py3.12,py3.10,py3.11,py3.13,pypypy3.10"]

integration/storage/test_azure_blobs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def setUpClass(cls):
119119
client_secret=config["AZURE_CLIENT_SECRET"],
120120
)
121121

122-
resource_client = resource.ResourceManagementClient(
122+
resource_client = resource.resources.ResourceManagementClient(
123123
credentials,
124124
config["AZURE_SUBSCRIPTION_ID"],
125125
)
@@ -205,7 +205,7 @@ def setUpClass(cls):
205205
)
206206

207207
cls.account = account.name
208-
cls.secret = keys.keys[0].value
208+
cls.secret = keys["keys"][0]["value"]
209209

210210

211211
class StorageV2Test(StorageTest):

0 commit comments

Comments
 (0)