From 6eb32ae29df4dd253ab9868f0ef8405c20bd0502 Mon Sep 17 00:00:00 2001 From: Anton Pirker Date: Mon, 22 Jul 2024 10:03:55 +0200 Subject: [PATCH 1/4] Run tests in Python 3.13 --- .github/workflows/test.yml | 3 ++- tox.ini | 38 +++++++++++++++++++------------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e02495418e8..2bfef700226 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,6 +32,7 @@ jobs: py310: "3.10" py311: "3.11" py312: "3.12" + py313: "3.13" pypy3: pypy-3.8 RUN_MATRIX_COMBINATION: ${{ matrix.python-version }}-${{ matrix.package }}-${{ matrix.os }} @@ -39,7 +40,7 @@ jobs: strategy: fail-fast: false # ensures the entire test matrix is run, even if one permutation fails matrix: - python-version: [py38, py39, py310, py311, py312, pypy3] + python-version: [py38, py39, py310, py311, py312, py313, pypy3] package: - "api" - "sdk" diff --git a/tox.ini b/tox.ini index 5024ff31d80..25ede9d1032 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ envlist = ; Environments are organized by individual package, allowing ; for specifying supported Python versions per package. - py3{8,9,10,11,12}-test-opentelemetry-api + py3{8,9,10,11,12,13}-test-opentelemetry-api pypy3-test-opentelemetry-api lint-opentelemetry-api @@ -14,31 +14,31 @@ envlist = ; below mean these dependencies are being used: ; 0: protobuf==3.20.3 ; 1: protobuf==4.25.3 - py3{8,9,10,11,12}-test-opentelemetry-proto-{0,1} + py3{8,9,10,11,12,13}-test-opentelemetry-proto-{0,1} pypy3-test-opentelemetry-proto-{0,1} lint-opentelemetry-proto - py3{8,9,10,11,12}-test-opentelemetry-sdk + py3{8,9,10,11,12,13}-test-opentelemetry-sdk pypy3-test-opentelemetry-sdk lint-opentelemetry-sdk benchmark-opentelemetry-sdk - py3{8,9,10,11,12}-test-opentelemetry-semantic-conventions + py3{8,9,10,11,12,13}-test-opentelemetry-semantic-conventions pypy3-test-opentelemetry-semantic-conventions lint-opentelemetry-semantic-conventions - py3{8,9,10,11,12}-test-opentelemetry-getting-started + py3{8,9,10,11,12,13}-test-opentelemetry-getting-started lint-opentelemetry-getting-started - py3{8,9,10,11,12}-test-opentelemetry-opentracing-shim + py3{8,9,10,11,12,13}-test-opentelemetry-opentracing-shim pypy3-test-opentelemetry-opentracing-shim lint-opentelemetry-opentracing-shim - py3{8,9,10,11,12}-test-opentelemetry-opencensus-shim + py3{8,9,10,11,12,13}-test-opentelemetry-opencensus-shim ; opencensus-shim intentionally excluded from pypy3 (grpcio install fails) lint-opentelemetry-opencensus-shim - py3{8,9,10,11,12}-test-opentelemetry-exporter-opencensus + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-opencensus ; exporter-opencensus intentionally excluded from pypy3 lint-opentelemetry-exporter-opencensus @@ -46,12 +46,12 @@ envlist = ; below mean these dependencies are being used: ; 0: protobuf==3.20.3 ; 1: protobuf==4.25.3 - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-proto-common-{0,1} + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-common-{0,1} pypy3-test-opentelemetry-exporter-otlp-proto-common-{0,1} lint-opentelemetry-exporter-otlp-proto-common ; opentelemetry-exporter-otlp - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-combined + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-combined ; intentionally excluded from pypy3 lint-opentelemetry-exporter-otlp-combined @@ -59,7 +59,7 @@ envlist = ; below mean these dependencies are being used: ; 0: protobuf==3.20.3 ; 1: protobuf==4.25.3 - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-proto-grpc-{0,1} + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-grpc-{0,1} ; intentionally excluded from pypy3 lint-opentelemetry-exporter-otlp-proto-grpc benchmark-opentelemetry-exporter-otlp-proto-grpc @@ -68,37 +68,37 @@ envlist = ; below mean these dependencies are being used: ; 0: protobuf==3.20.3 ; 1: protobuf==4.25.3 - py3{8,9,10,11,12}-test-opentelemetry-exporter-otlp-proto-http-{0,1} + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-http-{0,1} pypy3-test-opentelemetry-exporter-otlp-proto-http-{0,1} lint-opentelemetry-exporter-otlp-proto-http - py3{8,9,10,11,12}-test-opentelemetry-exporter-prometheus + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-prometheus pypy3-test-opentelemetry-exporter-prometheus lint-opentelemetry-exporter-prometheus ; opentelemetry-exporter-zipkin - py3{8,9,10,11,12}-test-opentelemetry-exporter-zipkin-combined + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-zipkin-combined pypy3-test-opentelemetry-exporter-zipkin-combined lint-opentelemetry-exporter-zipkin-combined - py3{8,9,10,11,12}-test-opentelemetry-exporter-zipkin-proto-http + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-zipkin-proto-http pypy3-test-opentelemetry-exporter-zipkin-proto-http lint-opentelemetry-exporter-zipkin-proto-http - py3{8,9,10,11,12}-test-opentelemetry-exporter-zipkin-json + py3{8,9,10,11,12,13}-test-opentelemetry-exporter-zipkin-json pypy3-test-opentelemetry-exporter-zipkin-json lint-opentelemetry-exporter-zipkin-json - py3{8,9,10,11,12}-test-opentelemetry-propagator-b3 + py3{8,9,10,11,12,13}-test-opentelemetry-propagator-b3 pypy3-test-opentelemetry-propagator-b3 lint-opentelemetry-propagator-b3 benchmark-opentelemetry-propagator-b3 - py3{8,9,10,11,12}-test-opentelemetry-propagator-jaeger + py3{8,9,10,11,12,13}-test-opentelemetry-propagator-jaeger pypy3-test-opentelemetry-propagator-jaeger lint-opentelemetry-propagator-jaeger - py3{8,9,10,11,12}-test-opentelemetry-test-utils + py3{8,9,10,11,12,13}-test-opentelemetry-test-utils pypy3-test-opentelemetry-test-utils lint-opentelemetry-test-utils From d10e0c839f8c820acfeb70e0c1ad11f4a0b17040 Mon Sep 17 00:00:00 2001 From: Anton Pirker Date: Mon, 22 Jul 2024 10:42:03 +0200 Subject: [PATCH 2/4] Allow prepreleases to test against Python 3.13 --- .github/workflows/test.yml | 2 ++ docs/examples/error_handler/error_handler_0/pyproject.toml | 1 + 2 files changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2bfef700226..ce6feb17dc2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -80,6 +80,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ env[matrix.python-version] }} + allow-prereleases: true architecture: 'x64' - name: Install tox run: pip install tox @@ -202,6 +203,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ env[matrix.python-version] }} + allow-prereleases: true architecture: 'x64' - name: Install tox run: pip install tox diff --git a/docs/examples/error_handler/error_handler_0/pyproject.toml b/docs/examples/error_handler/error_handler_0/pyproject.toml index fb8c889e61f..c48c86487b0 100644 --- a/docs/examples/error_handler/error_handler_0/pyproject.toml +++ b/docs/examples/error_handler/error_handler_0/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-sdk ~= 1.3", From 2bf39f36fb953a8a19a59b4d284ffc27269fc047 Mon Sep 17 00:00:00 2001 From: Anton Pirker Date: Tue, 30 Jul 2024 16:06:44 +0200 Subject: [PATCH 3/4] Updated more stuff to 3.13 --- .github/workflows/benchmarks.yml | 3 ++- .github/workflows/lint.yml | 3 ++- .github/workflows/public-api-check.yml | 2 +- .github/workflows/test.yml | 2 +- docs/examples/error_handler/error_handler_1/pyproject.toml | 1 + exporter/opentelemetry-exporter-opencensus/pyproject.toml | 1 + .../opentelemetry-exporter-otlp-proto-common/pyproject.toml | 1 + exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml | 1 + exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml | 1 + exporter/opentelemetry-exporter-otlp/pyproject.toml | 1 + exporter/opentelemetry-exporter-prometheus/pyproject.toml | 1 + exporter/opentelemetry-exporter-zipkin-json/pyproject.toml | 1 + .../opentelemetry-exporter-zipkin-proto-http/pyproject.toml | 1 + exporter/opentelemetry-exporter-zipkin/pyproject.toml | 1 + opentelemetry-api/pyproject.toml | 1 + opentelemetry-proto/pyproject.toml | 1 + propagator/opentelemetry-propagator-b3/pyproject.toml | 1 + propagator/opentelemetry-propagator-jaeger/pyproject.toml | 1 + shim/opentelemetry-opencensus-shim/pyproject.toml | 1 + shim/opentelemetry-opentracing-shim/pyproject.toml | 1 + tests/opentelemetry-test-utils/pyproject.toml | 1 + 21 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index be9b44d8e2a..c31d01230a2 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -13,7 +13,8 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.13" + allow-prereleases: true architecture: 'x64' - name: Install tox run: pip install tox diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 972025f478d..89f16b613e2 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -56,7 +56,8 @@ jobs: - name: Set up Python 3.12 uses: actions/setup-python@v5 with: - python-version: 3.12 + python-version: "3.13" + allow-prereleases: true - name: Install tox run: pip install tox - name: Cache tox environment diff --git a/.github/workflows/public-api-check.yml b/.github/workflows/public-api-check.yml index 00c59f94bed..3ebeb3bf35d 100644 --- a/.github/workflows/public-api-check.yml +++ b/.github/workflows/public-api-check.yml @@ -31,7 +31,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: "3.13" - name: Install tox run: pip install tox diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cb18450a5b9..fc9be3e5a67 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -112,7 +112,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.13' architecture: 'x64' - name: Install tox run: pip install tox diff --git a/docs/examples/error_handler/error_handler_1/pyproject.toml b/docs/examples/error_handler/error_handler_1/pyproject.toml index 5f72ff58480..f0d5499f0ed 100644 --- a/docs/examples/error_handler/error_handler_1/pyproject.toml +++ b/docs/examples/error_handler/error_handler_1/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-sdk ~= 1.3", diff --git a/exporter/opentelemetry-exporter-opencensus/pyproject.toml b/exporter/opentelemetry-exporter-opencensus/pyproject.toml index 0ea7db7053f..cb2f8717a28 100644 --- a/exporter/opentelemetry-exporter-opencensus/pyproject.toml +++ b/exporter/opentelemetry-exporter-opencensus/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml index 2610457c692..357d2ced0cf 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-proto == 1.27.0.dev", diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml index d2b34ba1873..2b39f594d50 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "Deprecated >= 1.2.6", diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml index 25be31be419..b3a2a220a04 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "Deprecated >= 1.2.6", diff --git a/exporter/opentelemetry-exporter-otlp/pyproject.toml b/exporter/opentelemetry-exporter-otlp/pyproject.toml index 7214f568bf2..75b2c6e62fc 100644 --- a/exporter/opentelemetry-exporter-otlp/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-prometheus/pyproject.toml b/exporter/opentelemetry-exporter-prometheus/pyproject.toml index 9dbb6d0c47f..6385eaf994f 100644 --- a/exporter/opentelemetry-exporter-prometheus/pyproject.toml +++ b/exporter/opentelemetry-exporter-prometheus/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "opentelemetry-api ~= 1.12", diff --git a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml index 70b4f72ea48..756913483f0 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml index e9012847a4d..046447fc5c5 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-zipkin/pyproject.toml b/exporter/opentelemetry-exporter-zipkin/pyproject.toml index 16447a1a1e5..a1b660d7605 100644 --- a/exporter/opentelemetry-exporter-zipkin/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin/pyproject.toml @@ -25,6 +25,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-api/pyproject.toml b/opentelemetry-api/pyproject.toml index 7278412f258..4fb9185468b 100644 --- a/opentelemetry-api/pyproject.toml +++ b/opentelemetry-api/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-proto/pyproject.toml b/opentelemetry-proto/pyproject.toml index 505a88f4d5c..8e5063af068 100644 --- a/opentelemetry-proto/pyproject.toml +++ b/opentelemetry-proto/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "protobuf>=3.19, < 5.0", diff --git a/propagator/opentelemetry-propagator-b3/pyproject.toml b/propagator/opentelemetry-propagator-b3/pyproject.toml index f8abf0bc3ce..23694ce167e 100644 --- a/propagator/opentelemetry-propagator-b3/pyproject.toml +++ b/propagator/opentelemetry-propagator-b3/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/propagator/opentelemetry-propagator-jaeger/pyproject.toml b/propagator/opentelemetry-propagator-jaeger/pyproject.toml index 9bdf0513b02..f96a79ea7ce 100644 --- a/propagator/opentelemetry-propagator-jaeger/pyproject.toml +++ b/propagator/opentelemetry-propagator-jaeger/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/shim/opentelemetry-opencensus-shim/pyproject.toml b/shim/opentelemetry-opencensus-shim/pyproject.toml index b4fdfb6e9f8..a1089242cb0 100644 --- a/shim/opentelemetry-opencensus-shim/pyproject.toml +++ b/shim/opentelemetry-opencensus-shim/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/shim/opentelemetry-opentracing-shim/pyproject.toml b/shim/opentelemetry-opentracing-shim/pyproject.toml index 0345178f903..4743cc203eb 100644 --- a/shim/opentelemetry-opentracing-shim/pyproject.toml +++ b/shim/opentelemetry-opentracing-shim/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Typing :: Typed", ] dependencies = [ diff --git a/tests/opentelemetry-test-utils/pyproject.toml b/tests/opentelemetry-test-utils/pyproject.toml index 02b7e182e9c..b4eefbc529b 100644 --- a/tests/opentelemetry-test-utils/pyproject.toml +++ b/tests/opentelemetry-test-utils/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "asgiref ~= 3.0", From ee71a5c37d985c78ecb70e545ba979015908d17a Mon Sep 17 00:00:00 2001 From: Anton Pirker Date: Mon, 5 Aug 2024 15:17:13 +0200 Subject: [PATCH 4/4] Update to latest ubuntu --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fc9be3e5a67..0d96e52cb92 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -105,7 +105,7 @@ jobs: tox-environment: ["docker-tests-proto3", "docker-tests-proto4", "spellcheck", "docs", "mypy", "mypyinstalled", "tracecontext"] name: ${{ matrix.tox-environment }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Checkout Core Repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4