Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ github:
- "Unit Tests (Python 3.12)"
- "Unit Tests (Python 3.13)"
- "Dependency Review"
# - "Run Various Lint and Other Checks (3.10)"
# - "Build and upload Documentation (3.10)"
- "Run Various Lint and Other Checks (3.12)"
- "Build and upload Documentation (3.12)"

notifications:
jobs: notifications@libcloud.apache.org
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down Expand Up @@ -173,7 +173,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down Expand Up @@ -231,7 +231,7 @@ jobs:
tar -xzvf "${TARBALL_FILENAME}"

cd "apache_libcloud-${VERSION}/"
tox -c tox.ini -epy3.10
tox -c tox.ini -epy3.12

- name: Verify Wheel Release Artifact
run: |
Expand All @@ -251,15 +251,15 @@ jobs:
cp ../../tox.ini .
cp ../../pyproject.toml .
cp ../../libcloud/test/secrets.py-dist libcloud/test/secrets.py-dist
tox -c tox.ini -epy3.10
tox -c tox.ini -epy3.12

build_test_docker_image:
name: Build and Verify Docker Image
runs-on: ubuntu-latest

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand All @@ -278,7 +278,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down Expand Up @@ -351,7 +351,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down Expand Up @@ -390,7 +390,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_dev_artifact.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Use Python ${{ matrix.python_version }}
uses: actions/setup-python@v6
with:
python-version: "3.10"
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_pricing_to_s3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

strategy:
matrix:
python_version: [ "3.10" ]
python_version: [ "3.12" ]

steps:
- uses: actions/checkout@v7
Expand Down
11 changes: 5 additions & 6 deletions contrib/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

# Docker image used for running tests the under all the supported Python
# versions
FROM ubuntu:22.04
FROM ubuntu:24.04

ARG DEBIAN_FRONTEND=noninteractive

Expand All @@ -42,8 +42,6 @@ RUN set -e && \
pypy3 \
pypy3-dev \
python3-pip \
python3-distutils \
python3.10-distutils \
libvirt-dev \
# Needed by libvirt driver
pkg-config
Expand All @@ -54,9 +52,10 @@ COPY . /libcloud
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

WORKDIR /libcloud
ENV PATH="/libcloud/.venv/bin:${PATH}"

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

CMD ["tox", "-e", "lint,isort-check,black-check,bandit,py3.10,py3.11,py3.12,py3.13,pypypy3.10"]
CMD ["tox", "-e", "lint,isort-check,black-check,bandit,py3.12,py3.10,py3.11,py3.13,pypypy3.10"]
8 changes: 5 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,10 @@ test = [
"pytest-xdist==3.6.1",
"pytest-timeout==2.4.0",
"pytest-benchmark[histogram]==5.1.0; python_version >= '3.10'",
"cryptography==46.0.7",
"pyopenssl==26.0.0",
"cryptography==49.0.0; python_version >= '3.11'",
"pyopenssl==26.3.0; python_version >= '3.11'",
"cryptography==46.0.7; python_version < '3.11'",
"pyopenssl==26.0.0; python_version < '3.11'",
"fasteners",
"paramiko==5.0.0; platform_python_implementation != 'PyPy'",
"libvirt-python==12.0.0",
Expand Down Expand Up @@ -238,7 +240,7 @@ indent-string = " "


[tool.mypy]
python_version = "3.10"
python_version = "3.12"
platform = "linux"
show_error_context = true
show_column_numbers = true
Expand Down
4 changes: 2 additions & 2 deletions scripts/time_imports.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ find . -name "*.pyc" -print0 | xargs -0 rm

# Example line:
# import time: 1112 | 70127 | libcloud
LIBCLOUD_IMPORT_TIMINGS=$(python3.10 -X importtime -c "import libcloud" 2>&1)
LIBCLOUD_IMPORT_TIMINGS=$(python3.12 -X importtime -c "import libcloud" 2>&1)
LIBCLOUD_IMPORT_TIME_CUMULATIVE_US=$(echo -e "${LIBCLOUD_IMPORT_TIMINGS}" | tail -1 | grep "| libcloud" | awk '{print $5}')

echo "Import timings for \"libcloud\" module"
Expand All @@ -40,7 +40,7 @@ fi
# Clean up any cached files to ensure consistent and clean environment
find . -name "*.pyc" -print0 | xargs -0 rm

EC2_DRIVER_IMPORT_TIMINGS=$(python3.10 -X importtime -c "import libcloud.compute.drivers.ec2" 2>&1)
EC2_DRIVER_IMPORT_TIMINGS=$(python3.12 -X importtime -c "import libcloud.compute.drivers.ec2" 2>&1)
EC2_DRIVER_IMPORT_TIME_CUMULATIVE_US=$(echo -e "$EC2_DRIVER_IMPORT_TIMINGS}" | tail -1 | grep "| libcloud.compute.drivers.ec2" | awk '{print $5}')

echo ""
Expand Down
14 changes: 7 additions & 7 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py{pypy3,3.10,3.11,pyjion},checks,lint,pylint,pyupgrade,isort,black,mypy,docs,coverage,integration-storage
envlist = py{pypy3,3.12,3.11,pyjion},checks,lint,pylint,pyupgrade,isort,black,mypy,docs,coverage,integration-storage
skipsdist = true
requires =
wheel
Expand All @@ -25,7 +25,7 @@ basepython =
pypypy3.10: pypy3.10
pypypy-3.10: pypy3.10
pypyjion: pyjion
{docs,checks,black,black-check,bandit,lint,pylint,mypy,micro-benchmarks,coverage,import-timings,isort,isort-check,pyupgrade,integration-storage}: python3.10
{docs,checks,black,black-check,bandit,lint,pylint,mypy,micro-benchmarks,coverage,import-timings,isort,isort-check,pyupgrade,integration-storage}: python3.12
{py3.10,py3.10-dist,py3.10-dist-wheel}: python3.10
{py3.11,py3.11-dist,py3.11-dist-wheel}: python3.11
{py3.12,py3.12-dist,py3.12-dist-wheel}: python3.12
Expand Down Expand Up @@ -139,11 +139,11 @@ commands = rstcheck --report-level warning ../README.rst
sphinx-build -j auto -b html -d {envtmpdir}/doctrees . _build/html

[testenv:provider-tables]
basepython: python3.10
basepython: python3.12
commands = python ./contrib/generate_provider_feature_matrix_table.py

[testenv:scrape-and-publish-provider-prices]
basepython: python3.10
basepython: python3.12
# Needed to avoid urllib3 errors related to old openssl version
# https://github.com/urllib3/urllib3/issues/2168
dependency_groups =
Expand Down Expand Up @@ -178,7 +178,7 @@ commands =
echo "https://libcloud-pricing-data.s3.amazonaws.com/pricing.json.sha512"

[testenv:scrape-provider-prices]
basepython: python3.10
basepython: python3.12
# Needed to avoid urllib3 errors related to old openssl version
# https://github.com/urllib3/urllib3/issues/2168
dependency_groups =
Expand All @@ -202,7 +202,7 @@ commands =
bash -c "(cd libcloud/data/ ; sha512sum pricing.json > {toxinidir}/libcloud/data/pricing.json.sha512)"

[testenv:scrape-ec2-prices]
basepython: python3.10
basepython: python3.12
# Needed to avoid urllib3 errors related to old openssl version
# https://github.com/urllib3/urllib3/issues/2168
dependency_groups =
Expand All @@ -214,7 +214,7 @@ deps = urllib3==1.26.6
commands = python contrib/scrape-ec2-prices.py

[testenv:scrape-ec2-sizes]
basepython: python3.10
basepython: python3.12
# Needed to avoid urllib3 errors related to old openssl version
# https://github.com/urllib3/urllib3/issues/2168
dependency_groups =
Expand Down
Loading
Loading