From 2469d01d6165e656df27f655869a464e61174cc0 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 09:57:17 -0300 Subject: [PATCH 01/10] add python 3.14 support --- .github/workflows/generate_workflows.py | 1 + .github/workflows/lint_0.yml | 76 +- .github/workflows/templates/lint.yml.j2 | 4 +- .github/workflows/test_0.yml | 1353 +++++++++-------- .github/workflows/test_1.yml | 737 +++++++++ CONTRIBUTING.md | 2 +- .../error_handler_0/pyproject.toml | 1 + .../error_handler_1/pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + opentelemetry-api/pyproject.toml | 1 + opentelemetry-proto/pyproject.toml | 1 + opentelemetry-sdk/pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + .../pyproject.toml | 1 + tests/opentelemetry-test-utils/pyproject.toml | 1 + tox.ini | 41 +- 27 files changed, 1574 insertions(+), 660 deletions(-) create mode 100644 .github/workflows/test_1.yml diff --git a/.github/workflows/generate_workflows.py b/.github/workflows/generate_workflows.py index f2323036ec3..8b01d3a0b9a 100644 --- a/.github/workflows/generate_workflows.py +++ b/.github/workflows/generate_workflows.py @@ -53,6 +53,7 @@ def get_test_job_datas(tox_envs: list, operating_systems: list) -> list: "py311": "3.11", "py312": "3.12", "py313": "3.13", + "py314": "3.14", } test_job_datas = [] diff --git a/.github/workflows/lint_0.yml b/.github/workflows/lint_0.yml index c45d762e9a7..a356157aec2 100644 --- a/.github/workflows/lint_0.yml +++ b/.github/workflows/lint_0.yml @@ -40,10 +40,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -59,10 +59,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -78,10 +78,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -97,10 +97,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -116,10 +116,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -135,10 +135,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -154,10 +154,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -173,10 +173,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -192,10 +192,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -211,10 +211,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -230,10 +230,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -249,10 +249,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -268,10 +268,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -287,10 +287,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -306,10 +306,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -325,10 +325,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -344,10 +344,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -363,10 +363,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -382,10 +382,10 @@ jobs: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv diff --git a/.github/workflows/templates/lint.yml.j2 b/.github/workflows/templates/lint.yml.j2 index 7f3059805f3..2a134a6da18 100644 --- a/.github/workflows/templates/lint.yml.j2 +++ b/.github/workflows/templates/lint.yml.j2 @@ -41,10 +41,10 @@ jobs: - name: Checkout repo @ SHA - ${% raw %}{{ github.sha }}{% endraw %} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv diff --git a/.github/workflows/test_0.yml b/.github/workflows/test_0.yml index 9f082d3f14d..68c07a957a8 100644 --- a/.github/workflows/test_0.yml +++ b/.github/workflows/test_0.yml @@ -127,6 +127,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-api -- -ra + py314-test-opentelemetry-api_ubuntu-latest: + name: opentelemetry-api 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-api -- -ra + pypy3-test-opentelemetry-api_ubuntu-latest: name: opentelemetry-api pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -336,6 +355,44 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-proto-gen-latest -- -ra + py314-test-opentelemetry-proto-gen-oldest_ubuntu-latest: + name: opentelemetry-proto-gen-oldest 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-proto-gen-oldest -- -ra + + py314-test-opentelemetry-proto-gen-latest_ubuntu-latest: + name: opentelemetry-proto-gen-latest 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-proto-gen-latest -- -ra + pypy3-test-opentelemetry-proto-gen-oldest_ubuntu-latest: name: opentelemetry-proto-gen-oldest pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -469,6 +526,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-sdk -- -ra + py314-test-opentelemetry-sdk_ubuntu-latest: + name: opentelemetry-sdk 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-sdk -- -ra + pypy3-test-opentelemetry-sdk_ubuntu-latest: name: opentelemetry-sdk pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -583,6 +659,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-semantic-conventions -- -ra + py314-test-opentelemetry-semantic-conventions_ubuntu-latest: + name: opentelemetry-semantic-conventions 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-semantic-conventions -- -ra + pypy3-test-opentelemetry-semantic-conventions_ubuntu-latest: name: opentelemetry-semantic-conventions pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -697,6 +792,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-getting-started -- -ra + py314-test-opentelemetry-getting-started_ubuntu-latest: + name: opentelemetry-getting-started 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-getting-started -- -ra + py39-test-opentelemetry-opentracing-shim_ubuntu-latest: name: opentelemetry-opentracing-shim 3.9 Ubuntu runs-on: ubuntu-latest @@ -792,6 +906,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-opentracing-shim -- -ra + py314-test-opentelemetry-opentracing-shim_ubuntu-latest: + name: opentelemetry-opentracing-shim 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-opentracing-shim -- -ra + pypy3-test-opentelemetry-opentracing-shim_ubuntu-latest: name: opentelemetry-opentracing-shim pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -906,6 +1039,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-opencensus-shim -- -ra + py314-test-opentelemetry-opencensus-shim_ubuntu-latest: + name: opentelemetry-opencensus-shim 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-opencensus-shim -- -ra + py39-test-opentelemetry-exporter-opencensus_ubuntu-latest: name: opentelemetry-exporter-opencensus 3.9 Ubuntu runs-on: ubuntu-latest @@ -1001,6 +1153,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-opencensus -- -ra + py314-test-opentelemetry-exporter-opencensus_ubuntu-latest: + name: opentelemetry-exporter-opencensus 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-opencensus -- -ra + py39-test-opentelemetry-exporter-otlp-proto-common_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-common 3.9 Ubuntu runs-on: ubuntu-latest @@ -1096,6 +1267,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-otlp-proto-common -- -ra + py314-test-opentelemetry-exporter-otlp-proto-common_ubuntu-latest: + name: opentelemetry-exporter-otlp-proto-common 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-common -- -ra + pypy3-test-opentelemetry-exporter-otlp-proto-common_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-common pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -1210,6 +1400,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-otlp-combined -- -ra + py314-test-opentelemetry-exporter-otlp-combined_ubuntu-latest: + name: opentelemetry-exporter-otlp-combined 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-combined -- -ra + py39-test-opentelemetry-exporter-otlp-proto-grpc-oldest_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.9 Ubuntu runs-on: ubuntu-latest @@ -1400,6 +1609,44 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra + py314-test-opentelemetry-exporter-otlp-proto-grpc-oldest_ubuntu-latest: + name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra + + py314-test-opentelemetry-exporter-otlp-proto-grpc-latest_ubuntu-latest: + name: opentelemetry-exporter-otlp-proto-grpc-latest 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra + py39-test-opentelemetry-exporter-otlp-proto-http_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-http 3.9 Ubuntu runs-on: ubuntu-latest @@ -1495,6 +1742,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra + py314-test-opentelemetry-exporter-otlp-proto-http_ubuntu-latest: + name: opentelemetry-exporter-otlp-proto-http 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-http -- -ra + pypy3-test-opentelemetry-exporter-otlp-proto-http_ubuntu-latest: name: opentelemetry-exporter-otlp-proto-http pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -1609,6 +1875,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra + py314-test-opentelemetry-exporter-prometheus_ubuntu-latest: + name: opentelemetry-exporter-prometheus 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-prometheus -- -ra + pypy3-test-opentelemetry-exporter-prometheus_ubuntu-latest: name: opentelemetry-exporter-prometheus pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -1723,6 +2008,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra + py314-test-opentelemetry-exporter-zipkin-combined_ubuntu-latest: + name: opentelemetry-exporter-zipkin-combined 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-combined -- -ra + pypy3-test-opentelemetry-exporter-zipkin-combined_ubuntu-latest: name: opentelemetry-exporter-zipkin-combined pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -1837,6 +2141,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra + py314-test-opentelemetry-exporter-zipkin-proto-http_ubuntu-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-proto-http -- -ra + pypy3-test-opentelemetry-exporter-zipkin-proto-http_ubuntu-latest: name: opentelemetry-exporter-zipkin-proto-http pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -1951,6 +2274,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra + py314-test-opentelemetry-exporter-zipkin-json_ubuntu-latest: + name: opentelemetry-exporter-zipkin-json 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-json -- -ra + pypy3-test-opentelemetry-exporter-zipkin-json_ubuntu-latest: name: opentelemetry-exporter-zipkin-json pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -2065,18 +2407,37 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra - pypy3-test-opentelemetry-propagator-b3_ubuntu-latest: - name: opentelemetry-propagator-b3 pypy-3.9 Ubuntu + py314-test-opentelemetry-propagator-b3_ubuntu-latest: + name: opentelemetry-propagator-b3 3.14 Ubuntu runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python pypy-3.9 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "pypy-3.9" + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-propagator-b3 -- -ra + + pypy3-test-opentelemetry-propagator-b3_ubuntu-latest: + name: opentelemetry-propagator-b3 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" - name: Install tox run: pip install tox-uv @@ -2179,6 +2540,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra + py314-test-opentelemetry-propagator-jaeger_ubuntu-latest: + name: opentelemetry-propagator-jaeger 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-propagator-jaeger -- -ra + pypy3-test-opentelemetry-propagator-jaeger_ubuntu-latest: name: opentelemetry-propagator-jaeger pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -2293,6 +2673,25 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-test-utils -- -ra + py314-test-opentelemetry-test-utils_ubuntu-latest: + name: opentelemetry-test-utils 3.14 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py314-test-opentelemetry-test-utils -- -ra + pypy3-test-opentelemetry-test-utils_ubuntu-latest: name: opentelemetry-test-utils pypy-3.9 Ubuntu runs-on: ubuntu-latest @@ -2422,6 +2821,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-api -- -ra + py314-test-opentelemetry-api_windows-latest: + name: opentelemetry-api 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-api -- -ra + pypy3-test-opentelemetry-api_windows-latest: name: opentelemetry-api pypy-3.9 Windows runs-on: windows-latest @@ -2664,6 +3085,50 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-proto-gen-latest -- -ra + py314-test-opentelemetry-proto-gen-oldest_windows-latest: + name: opentelemetry-proto-gen-oldest 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-proto-gen-oldest -- -ra + + py314-test-opentelemetry-proto-gen-latest_windows-latest: + name: opentelemetry-proto-gen-latest 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-proto-gen-latest -- -ra + pypy3-test-opentelemetry-proto-gen-oldest_windows-latest: name: opentelemetry-proto-gen-oldest pypy-3.9 Windows runs-on: windows-latest @@ -2818,6 +3283,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-sdk -- -ra + py314-test-opentelemetry-sdk_windows-latest: + name: opentelemetry-sdk 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-sdk -- -ra + pypy3-test-opentelemetry-sdk_windows-latest: name: opentelemetry-sdk pypy-3.9 Windows runs-on: windows-latest @@ -2950,6 +3437,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-semantic-conventions -- -ra + py314-test-opentelemetry-semantic-conventions_windows-latest: + name: opentelemetry-semantic-conventions 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-semantic-conventions -- -ra + pypy3-test-opentelemetry-semantic-conventions_windows-latest: name: opentelemetry-semantic-conventions pypy-3.9 Windows runs-on: windows-latest @@ -3082,6 +3591,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-getting-started -- -ra + py314-test-opentelemetry-getting-started_windows-latest: + name: opentelemetry-getting-started 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-getting-started -- -ra + py39-test-opentelemetry-opentracing-shim_windows-latest: name: opentelemetry-opentracing-shim 3.9 Windows runs-on: windows-latest @@ -3192,6 +3723,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-opentracing-shim -- -ra + py314-test-opentelemetry-opentracing-shim_windows-latest: + name: opentelemetry-opentracing-shim 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-opentracing-shim -- -ra + pypy3-test-opentelemetry-opentracing-shim_windows-latest: name: opentelemetry-opentracing-shim pypy-3.9 Windows runs-on: windows-latest @@ -3324,6 +3877,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-opencensus-shim -- -ra + py314-test-opentelemetry-opencensus-shim_windows-latest: + name: opentelemetry-opencensus-shim 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-opencensus-shim -- -ra + py39-test-opentelemetry-exporter-opencensus_windows-latest: name: opentelemetry-exporter-opencensus 3.9 Windows runs-on: windows-latest @@ -3434,6 +4009,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-opencensus -- -ra + py314-test-opentelemetry-exporter-opencensus_windows-latest: + name: opentelemetry-exporter-opencensus 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-opencensus -- -ra + py39-test-opentelemetry-exporter-otlp-proto-common_windows-latest: name: opentelemetry-exporter-otlp-proto-common 3.9 Windows runs-on: windows-latest @@ -3544,6 +4141,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-otlp-proto-common -- -ra + py314-test-opentelemetry-exporter-otlp-proto-common_windows-latest: + name: opentelemetry-exporter-otlp-proto-common 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-common -- -ra + pypy3-test-opentelemetry-exporter-otlp-proto-common_windows-latest: name: opentelemetry-exporter-otlp-proto-common pypy-3.9 Windows runs-on: windows-latest @@ -3676,6 +4295,28 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-otlp-combined -- -ra + py314-test-opentelemetry-exporter-otlp-combined_windows-latest: + name: opentelemetry-exporter-otlp-combined 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-otlp-combined -- -ra + py39-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.9 Windows runs-on: windows-latest @@ -3896,18 +4537,18 @@ jobs: - name: Run tests run: tox -e py313-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - py39-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.9 Windows + py314-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest: + name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.14 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.9 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.9" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -3916,20 +4557,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-otlp-proto-http -- -ra + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-grpc-oldest -- -ra - py310-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.10 Windows + py314-test-opentelemetry-exporter-otlp-proto-grpc-latest_windows-latest: + name: opentelemetry-exporter-otlp-proto-grpc-latest 3.14 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -3938,20 +4579,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-otlp-proto-http -- -ra + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-grpc-latest -- -ra - py311-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.11 Windows + py39-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.9 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.11 + - name: Set up Python 3.9 uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.9" - name: Install tox run: pip install tox-uv @@ -3960,362 +4601,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-otlp-proto-http -- -ra + run: tox -e py39-test-opentelemetry-exporter-otlp-proto-http -- -ra - py312-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py313-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra - - pypy3-test-opentelemetry-exporter-otlp-proto-http_windows-latest: - name: opentelemetry-exporter-otlp-proto-http pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-otlp-proto-http -- -ra - - py39-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-prometheus -- -ra - - py310-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-prometheus -- -ra - - py311-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-prometheus -- -ra - - py312-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-prometheus -- -ra - - py313-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra - - pypy3-test-opentelemetry-exporter-prometheus_windows-latest: - name: opentelemetry-exporter-prometheus pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-prometheus -- -ra - - py39-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-combined -- -ra - - py310-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-combined -- -ra - - py311-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-combined -- -ra - - py312-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-combined -- -ra - - py313-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined 3.13 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-combined_windows-latest: - name: opentelemetry-exporter-zipkin-combined pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-combined -- -ra - - py39-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py310-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.10 Windows + py310-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.10 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4334,10 +4623,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-proto-http -- -ra + run: tox -e py310-test-opentelemetry-exporter-otlp-proto-http -- -ra - py311-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.11 Windows + py311-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.11 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4356,10 +4645,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-proto-http -- -ra + run: tox -e py311-test-opentelemetry-exporter-otlp-proto-http -- -ra - py312-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.12 Windows + py312-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.12 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4378,10 +4667,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-proto-http -- -ra + run: tox -e py312-test-opentelemetry-exporter-otlp-proto-http -- -ra - py313-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http 3.13 Windows + py313-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.13 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4400,130 +4689,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - pypy3-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: - name: opentelemetry-exporter-zipkin-proto-http pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-proto-http -- -ra - - py39-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py39-test-opentelemetry-exporter-zipkin-json -- -ra - - py310-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.10 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py310-test-opentelemetry-exporter-zipkin-json -- -ra - - py311-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.11 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py311-test-opentelemetry-exporter-zipkin-json -- -ra - - py312-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.12 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e py312-test-opentelemetry-exporter-zipkin-json -- -ra + run: tox -e py313-test-opentelemetry-exporter-otlp-proto-http -- -ra - py313-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json 3.13 Windows + py314-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http 3.14 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -4532,10 +4711,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra + run: tox -e py314-test-opentelemetry-exporter-otlp-proto-http -- -ra - pypy3-test-opentelemetry-exporter-zipkin-json_windows-latest: - name: opentelemetry-exporter-zipkin-json pypy-3.9 Windows + pypy3-test-opentelemetry-exporter-otlp-proto-http_windows-latest: + name: opentelemetry-exporter-otlp-proto-http pypy-3.9 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4554,10 +4733,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e pypy3-test-opentelemetry-exporter-zipkin-json -- -ra + run: tox -e pypy3-test-opentelemetry-exporter-otlp-proto-http -- -ra - py39-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.9 Windows + py39-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.9 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4576,10 +4755,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py39-test-opentelemetry-propagator-b3 -- -ra + run: tox -e py39-test-opentelemetry-exporter-prometheus -- -ra - py310-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.10 Windows + py310-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.10 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4598,10 +4777,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py310-test-opentelemetry-propagator-b3 -- -ra + run: tox -e py310-test-opentelemetry-exporter-prometheus -- -ra - py311-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.11 Windows + py311-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.11 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4620,10 +4799,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py311-test-opentelemetry-propagator-b3 -- -ra + run: tox -e py311-test-opentelemetry-exporter-prometheus -- -ra - py312-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.12 Windows + py312-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.12 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4642,10 +4821,10 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra + run: tox -e py312-test-opentelemetry-exporter-prometheus -- -ra - py313-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 3.13 Windows + py313-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.13 Windows runs-on: windows-latest timeout-minutes: 30 steps: @@ -4664,42 +4843,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra - - pypy3-test-opentelemetry-propagator-b3_windows-latest: - name: opentelemetry-propagator-b3 pypy-3.9 Windows - runs-on: windows-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Configure git to support long filenames - run: git config --system core.longpaths true - - - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-b3 -- -ra + run: tox -e py313-test-opentelemetry-exporter-prometheus -- -ra - py39-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.9 Windows + py314-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus 3.14 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.9 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.9" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -4708,20 +4865,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py39-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py314-test-opentelemetry-exporter-prometheus -- -ra - py310-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.10 Windows + pypy3-test-opentelemetry-exporter-prometheus_windows-latest: + name: opentelemetry-exporter-prometheus pypy-3.9 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python pypy-3.9 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "pypy-3.9" - name: Install tox run: pip install tox-uv @@ -4730,20 +4887,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py310-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e pypy3-test-opentelemetry-exporter-prometheus -- -ra - py311-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.11 Windows + py39-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.9 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.11 + - name: Set up Python 3.9 uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.9" - name: Install tox run: pip install tox-uv @@ -4752,20 +4909,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py311-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py39-test-opentelemetry-exporter-zipkin-combined -- -ra - py312-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.12 Windows + py310-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.10 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Set up Python 3.10 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.10" - name: Install tox run: pip install tox-uv @@ -4774,20 +4931,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py310-test-opentelemetry-exporter-zipkin-combined -- -ra - py313-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger 3.13 Windows + py311-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.11 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.11" - name: Install tox run: pip install tox-uv @@ -4796,20 +4953,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py311-test-opentelemetry-exporter-zipkin-combined -- -ra - pypy3-test-opentelemetry-propagator-jaeger_windows-latest: - name: opentelemetry-propagator-jaeger pypy-3.9 Windows + py312-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.12 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python pypy-3.9 + - name: Set up Python 3.12 uses: actions/setup-python@v5 with: - python-version: "pypy-3.9" + python-version: "3.12" - name: Install tox run: pip install tox-uv @@ -4818,20 +4975,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra + run: tox -e py312-test-opentelemetry-exporter-zipkin-combined -- -ra - py39-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.9 Windows + py313-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.13 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.9 + - name: Set up Python 3.13 uses: actions/setup-python@v5 with: - python-version: "3.9" + python-version: "3.13" - name: Install tox run: pip install tox-uv @@ -4840,20 +4997,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py39-test-opentelemetry-test-utils -- -ra + run: tox -e py313-test-opentelemetry-exporter-zipkin-combined -- -ra - py310-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.10 Windows + py314-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined 3.14 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.10 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.10" + python-version: "3.14" - name: Install tox run: pip install tox-uv @@ -4862,20 +5019,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py310-test-opentelemetry-test-utils -- -ra + run: tox -e py314-test-opentelemetry-exporter-zipkin-combined -- -ra - py311-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.11 Windows + pypy3-test-opentelemetry-exporter-zipkin-combined_windows-latest: + name: opentelemetry-exporter-zipkin-combined pypy-3.9 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.11 + - name: Set up Python pypy-3.9 uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "pypy-3.9" - name: Install tox run: pip install tox-uv @@ -4884,20 +5041,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py311-test-opentelemetry-test-utils -- -ra + run: tox -e pypy3-test-opentelemetry-exporter-zipkin-combined -- -ra - py312-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.12 Windows + py39-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.9 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Set up Python 3.9 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.9" - name: Install tox run: pip install tox-uv @@ -4906,20 +5063,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py312-test-opentelemetry-test-utils -- -ra + run: tox -e py39-test-opentelemetry-exporter-zipkin-proto-http -- -ra - py313-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils 3.13 Windows + py310-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.10 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python 3.13 + - name: Set up Python 3.10 uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.10" - name: Install tox run: pip install tox-uv @@ -4928,20 +5085,20 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e py313-test-opentelemetry-test-utils -- -ra + run: tox -e py310-test-opentelemetry-exporter-zipkin-proto-http -- -ra - pypy3-test-opentelemetry-test-utils_windows-latest: - name: opentelemetry-test-utils pypy-3.9 Windows + py311-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.11 Windows runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout repo @ SHA - ${{ github.sha }} uses: actions/checkout@v4 - - name: Set up Python pypy-3.9 + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: - python-version: "pypy-3.9" + python-version: "3.11" - name: Install tox run: pip install tox-uv @@ -4950,4 +5107,4 @@ jobs: run: git config --system core.longpaths true - name: Run tests - run: tox -e pypy3-test-opentelemetry-test-utils -- -ra + run: tox -e py311-test-opentelemetry-exporter-zipkin-proto-http -- -ra diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml new file mode 100644 index 00000000000..f3c698e7d30 --- /dev/null +++ b/.github/workflows/test_1.yml @@ -0,0 +1,737 @@ +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: Test 1 + +on: + push: + branches-ignore: + - 'release/*' + - 'otelbot/*' + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + CORE_REPO_SHA: main + # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' + # For PRs you can change the inner fallback ('main') + # For pushes you change the outer fallback ('main') + # The logic below is used during releases and depends on having an equivalent branch name in the contrib repo. + CONTRIB_REPO_SHA: ${{ github.event_name == 'pull_request' && ( + contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || + contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || + 'main' + ) || 'main' }} + PIP_EXISTS_ACTION: w + +jobs: + + py312-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py312-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py313-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py314-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + pypy3-test-opentelemetry-exporter-zipkin-proto-http_windows-latest: + name: opentelemetry-exporter-zipkin-proto-http pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-exporter-zipkin-proto-http -- -ra + + py39-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py39-test-opentelemetry-exporter-zipkin-json -- -ra + + py310-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py310-test-opentelemetry-exporter-zipkin-json -- -ra + + py311-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py311-test-opentelemetry-exporter-zipkin-json -- -ra + + py312-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py312-test-opentelemetry-exporter-zipkin-json -- -ra + + py313-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-exporter-zipkin-json -- -ra + + py314-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-exporter-zipkin-json -- -ra + + pypy3-test-opentelemetry-exporter-zipkin-json_windows-latest: + name: opentelemetry-exporter-zipkin-json pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-exporter-zipkin-json -- -ra + + py39-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py39-test-opentelemetry-propagator-b3 -- -ra + + py310-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py310-test-opentelemetry-propagator-b3 -- -ra + + py311-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py311-test-opentelemetry-propagator-b3 -- -ra + + py312-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py312-test-opentelemetry-propagator-b3 -- -ra + + py313-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-propagator-b3 -- -ra + + py314-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-propagator-b3 -- -ra + + pypy3-test-opentelemetry-propagator-b3_windows-latest: + name: opentelemetry-propagator-b3 pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-propagator-b3 -- -ra + + py39-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py39-test-opentelemetry-propagator-jaeger -- -ra + + py310-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py310-test-opentelemetry-propagator-jaeger -- -ra + + py311-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py311-test-opentelemetry-propagator-jaeger -- -ra + + py312-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py312-test-opentelemetry-propagator-jaeger -- -ra + + py313-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-propagator-jaeger -- -ra + + py314-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-propagator-jaeger -- -ra + + pypy3-test-opentelemetry-propagator-jaeger_windows-latest: + name: opentelemetry-propagator-jaeger pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-propagator-jaeger -- -ra + + py39-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py39-test-opentelemetry-test-utils -- -ra + + py310-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.10 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py310-test-opentelemetry-test-utils -- -ra + + py311-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.11 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py311-test-opentelemetry-test-utils -- -ra + + py312-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.12 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py312-test-opentelemetry-test-utils -- -ra + + py313-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.13 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py313-test-opentelemetry-test-utils -- -ra + + py314-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils 3.14 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e py314-test-opentelemetry-test-utils -- -ra + + pypy3-test-opentelemetry-test-utils_windows-latest: + name: opentelemetry-test-utils pypy-3.9 Windows + runs-on: windows-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Configure git to support long filenames + run: git config --system core.longpaths true + + - name: Run tests + run: tox -e pypy3-test-opentelemetry-test-utils -- -ra diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fad76562250..625bb2b0bfa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -60,7 +60,7 @@ You can run `tox` with the following arguments: under multiple Python versions - `tox -e docs` to regenerate the API docs - `tox -e opentelemetry-api` and `tox -e opentelemetry-sdk` to run the API and SDK unit tests -- `tox -e py313-opentelemetry-api` to e.g. run the API unit tests under a specific +- `tox -e py314-opentelemetry-api` to e.g. run the API unit tests under a specific Python version - `tox -e spellcheck` to run a spellcheck on all the code - `tox -e lint-some-package` to run lint checks on `some-package` diff --git a/docs/examples/error_handler/error_handler_0/pyproject.toml b/docs/examples/error_handler/error_handler_0/pyproject.toml index 9d90b67ac49..31c1b416482 100644 --- a/docs/examples/error_handler/error_handler_0/pyproject.toml +++ b/docs/examples/error_handler/error_handler_0/pyproject.toml @@ -22,6 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "opentelemetry-sdk ~= 1.3", diff --git a/docs/examples/error_handler/error_handler_1/pyproject.toml b/docs/examples/error_handler/error_handler_1/pyproject.toml index 1c2cb3d9015..51968442479 100644 --- a/docs/examples/error_handler/error_handler_1/pyproject.toml +++ b/docs/examples/error_handler/error_handler_1/pyproject.toml @@ -22,6 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "opentelemetry-sdk ~= 1.3", diff --git a/exporter/opentelemetry-exporter-opencensus/pyproject.toml b/exporter/opentelemetry-exporter-opencensus/pyproject.toml index 8df76da72fb..45d271b5142 100644 --- a/exporter/opentelemetry-exporter-opencensus/pyproject.toml +++ b/exporter/opentelemetry-exporter-opencensus/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml index 59bbec14416..5bf3195df89 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "opentelemetry-proto == 1.39.0.dev", diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml index be86f9be208..d57097d8f62 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "googleapis-common-protos ~= 1.57", diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml index 6eafdd09f82..852878b8a1c 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "googleapis-common-protos ~= 1.52", diff --git a/exporter/opentelemetry-exporter-otlp/pyproject.toml b/exporter/opentelemetry-exporter-otlp/pyproject.toml index 103c617f67b..1718709c32b 100644 --- a/exporter/opentelemetry-exporter-otlp/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-prometheus/pyproject.toml b/exporter/opentelemetry-exporter-prometheus/pyproject.toml index 40cbce1eaff..f26bbcfaa70 100644 --- a/exporter/opentelemetry-exporter-prometheus/pyproject.toml +++ b/exporter/opentelemetry-exporter-prometheus/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "opentelemetry-api ~= 1.12", diff --git a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml index bb3a1bcaf7b..92d2a8849e8 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-json/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml index 50323208b53..997e0584eda 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/exporter/opentelemetry-exporter-zipkin/pyproject.toml b/exporter/opentelemetry-exporter-zipkin/pyproject.toml index 3c965adb380..521a2073bf9 100644 --- a/exporter/opentelemetry-exporter-zipkin/pyproject.toml +++ b/exporter/opentelemetry-exporter-zipkin/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-api/pyproject.toml b/opentelemetry-api/pyproject.toml index 3a5b489c83f..a75e1589670 100644 --- a/opentelemetry-api/pyproject.toml +++ b/opentelemetry-api/pyproject.toml @@ -22,6 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-proto/pyproject.toml b/opentelemetry-proto/pyproject.toml index 182600415a8..bf76152b5dc 100644 --- a/opentelemetry-proto/pyproject.toml +++ b/opentelemetry-proto/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "protobuf>=5.0, < 7.0", diff --git a/opentelemetry-sdk/pyproject.toml b/opentelemetry-sdk/pyproject.toml index 4b1bbb409a4..24bd7ac2092 100644 --- a/opentelemetry-sdk/pyproject.toml +++ b/opentelemetry-sdk/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/opentelemetry-semantic-conventions/pyproject.toml b/opentelemetry-semantic-conventions/pyproject.toml index ef672ea0451..a37379aa8e9 100644 --- a/opentelemetry-semantic-conventions/pyproject.toml +++ b/opentelemetry-semantic-conventions/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ diff --git a/propagator/opentelemetry-propagator-b3/pyproject.toml b/propagator/opentelemetry-propagator-b3/pyproject.toml index 1e51ab5068a..5240f2eb6b0 100644 --- a/propagator/opentelemetry-propagator-b3/pyproject.toml +++ b/propagator/opentelemetry-propagator-b3/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/propagator/opentelemetry-propagator-jaeger/pyproject.toml b/propagator/opentelemetry-propagator-jaeger/pyproject.toml index 48b6cd30f5a..91440f6f0ca 100644 --- a/propagator/opentelemetry-propagator-jaeger/pyproject.toml +++ b/propagator/opentelemetry-propagator-jaeger/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/shim/opentelemetry-opencensus-shim/pyproject.toml b/shim/opentelemetry-opencensus-shim/pyproject.toml index 770eecda07a..e6a7010d248 100644 --- a/shim/opentelemetry-opencensus-shim/pyproject.toml +++ b/shim/opentelemetry-opencensus-shim/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/shim/opentelemetry-opentracing-shim/pyproject.toml b/shim/opentelemetry-opentracing-shim/pyproject.toml index 142748cfcf4..cc9c1d01ca4 100644 --- a/shim/opentelemetry-opentracing-shim/pyproject.toml +++ b/shim/opentelemetry-opentracing-shim/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dependencies = [ diff --git a/tests/opentelemetry-test-utils/pyproject.toml b/tests/opentelemetry-test-utils/pyproject.toml index 6b298d4188d..9b1ec1ebbaf 100644 --- a/tests/opentelemetry-test-utils/pyproject.toml +++ b/tests/opentelemetry-test-utils/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "asgiref ~= 3.0", diff --git a/tox.ini b/tox.ini index cbdd4dc0838..52e0c1612a9 100644 --- a/tox.ini +++ b/tox.ini @@ -8,83 +8,83 @@ envlist = ; Environments are organized by individual package, allowing ; for specifying supported Python versions per package. - py3{9,10,11,12,13}-test-opentelemetry-api + py3{9,10,11,12,13,14}-test-opentelemetry-api pypy3-test-opentelemetry-api lint-opentelemetry-api - py3{9,10,11,12,13}-test-opentelemetry-proto-gen-{oldest,latest} + py3{9,10,11,12,13,14}-test-opentelemetry-proto-gen-{oldest,latest} pypy3-test-opentelemetry-proto-gen-{oldest,latest} lint-opentelemetry-proto-gen-latest - py3{9,10,11,12,13}-test-opentelemetry-sdk + py3{9,10,11,12,13,14}-test-opentelemetry-sdk pypy3-test-opentelemetry-sdk lint-opentelemetry-sdk benchmark-opentelemetry-sdk - py3{9,10,11,12,13}-test-opentelemetry-semantic-conventions + py3{9,10,11,12,13,14}-test-opentelemetry-semantic-conventions pypy3-test-opentelemetry-semantic-conventions lint-opentelemetry-semantic-conventions - py3{9,10,11,12,13}-test-opentelemetry-getting-started + py3{9,10,11,12,13,14}-test-opentelemetry-getting-started lint-opentelemetry-getting-started - py3{9,10,11,12,13}-test-opentelemetry-opentracing-shim + py3{9,10,11,12,13,14}-test-opentelemetry-opentracing-shim pypy3-test-opentelemetry-opentracing-shim lint-opentelemetry-opentracing-shim - py3{9,10,11,12,13}-test-opentelemetry-opencensus-shim + py3{9,10,11,12,13,14}-test-opentelemetry-opencensus-shim ; opencensus-shim intentionally excluded from pypy3 (grpcio install fails) lint-opentelemetry-opencensus-shim - py3{9,10,11,12,13}-test-opentelemetry-exporter-opencensus + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-opencensus ; exporter-opencensus intentionally excluded from pypy3 lint-opentelemetry-exporter-opencensus - py3{9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-common + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-otlp-proto-common pypy3-test-opentelemetry-exporter-otlp-proto-common lint-opentelemetry-exporter-otlp-proto-common ; opentelemetry-exporter-otlp - py3{9,10,11,12,13}-test-opentelemetry-exporter-otlp-combined + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-otlp-combined ; intentionally excluded from pypy3 lint-opentelemetry-exporter-otlp-combined - py3{9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-grpc-{oldest,latest} + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-otlp-proto-grpc-{oldest,latest} ; intentionally excluded from pypy3 lint-opentelemetry-exporter-otlp-proto-grpc-latest benchmark-opentelemetry-exporter-otlp-proto-grpc-latest - py3{9,10,11,12,13}-test-opentelemetry-exporter-otlp-proto-http + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-otlp-proto-http pypy3-test-opentelemetry-exporter-otlp-proto-http lint-opentelemetry-exporter-otlp-proto-http - py3{9,10,11,12,13}-test-opentelemetry-exporter-prometheus + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-prometheus pypy3-test-opentelemetry-exporter-prometheus lint-opentelemetry-exporter-prometheus ; opentelemetry-exporter-zipkin - py3{9,10,11,12,13}-test-opentelemetry-exporter-zipkin-combined + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-zipkin-combined pypy3-test-opentelemetry-exporter-zipkin-combined lint-opentelemetry-exporter-zipkin-combined - py3{9,10,11,12,13}-test-opentelemetry-exporter-zipkin-proto-http + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-zipkin-proto-http pypy3-test-opentelemetry-exporter-zipkin-proto-http lint-opentelemetry-exporter-zipkin-proto-http - py3{9,10,11,12,13}-test-opentelemetry-exporter-zipkin-json + py3{9,10,11,12,13,14}-test-opentelemetry-exporter-zipkin-json pypy3-test-opentelemetry-exporter-zipkin-json lint-opentelemetry-exporter-zipkin-json - py3{9,10,11,12,13}-test-opentelemetry-propagator-b3 + py3{9,10,11,12,13,14}-test-opentelemetry-propagator-b3 pypy3-test-opentelemetry-propagator-b3 lint-opentelemetry-propagator-b3 benchmark-opentelemetry-propagator-b3 - py3{9,10,11,12,13}-test-opentelemetry-propagator-jaeger + py3{9,10,11,12,13,14}-test-opentelemetry-propagator-jaeger pypy3-test-opentelemetry-propagator-jaeger lint-opentelemetry-propagator-jaeger - py3{9,10,11,12,13}-test-opentelemetry-test-utils + py3{9,10,11,12,13,14}-test-opentelemetry-test-utils pypy3-test-opentelemetry-test-utils lint-opentelemetry-test-utils @@ -351,7 +351,7 @@ deps = -e {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc -e {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http -e {toxinidir}/opentelemetry-proto - + commands = pyright --version pyright @@ -363,4 +363,3 @@ deps = pre-commit commands = pre-commit run --color=always --all-files {posargs} - \ No newline at end of file From 794dc76b762c3efb1518f351486d09cb2431c310 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 10:32:01 -0300 Subject: [PATCH 02/10] fix opentelemetry-sdk CI --- opentelemetry-sdk/tests/context/test_asyncio.py | 4 +++- opentelemetry-sdk/tests/logs/test_export.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/opentelemetry-sdk/tests/context/test_asyncio.py b/opentelemetry-sdk/tests/context/test_asyncio.py index 7c5288a274e..2c5b27a135b 100644 --- a/opentelemetry-sdk/tests/context/test_asyncio.py +++ b/opentelemetry-sdk/tests/context/test_asyncio.py @@ -60,10 +60,12 @@ def setUp(self): self.memory_exporter = InMemorySpanExporter() span_processor = export.SimpleSpanProcessor(self.memory_exporter) self.tracer_provider.add_span_processor(span_processor) - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) def tearDown(self): context.detach(self.token) + self.loop.close() @patch( "opentelemetry.context._RUNTIME_CONTEXT", ContextVarsRuntimeContext() diff --git a/opentelemetry-sdk/tests/logs/test_export.py b/opentelemetry-sdk/tests/logs/test_export.py index 4b8d98693c5..08ec5dcc31f 100644 --- a/opentelemetry-sdk/tests/logs/test_export.py +++ b/opentelemetry-sdk/tests/logs/test_export.py @@ -17,7 +17,9 @@ import os import time import unittest -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( + ThreadPoolExecutor, # pylint: disable=no-name-in-module +) from sys import version_info from unittest.mock import Mock, patch From a385e1c11c30a65f153a9c71e8bc443c40d7ea9d Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 10:36:14 -0300 Subject: [PATCH 03/10] fix getting-started example --- docs/getting_started/tests/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting_started/tests/requirements.txt b/docs/getting_started/tests/requirements.txt index 1c49794a5f7..5d253bc8e9d 100644 --- a/docs/getting_started/tests/requirements.txt +++ b/docs/getting_started/tests/requirements.txt @@ -16,7 +16,7 @@ py-cpuinfo==9.0.0 pytest==7.4.4 requests==2.32.3 tomli==2.0.1 -typing_extensions==4.8.0 +typing_extensions==4.12.0 urllib3==1.26.19 Werkzeug==3.0.6 wrapt==1.15.0 From 8914d11c05f03cccff7ac0648adb6ee66d286702 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 10:36:30 -0300 Subject: [PATCH 04/10] fix otlp grpc exporter --- .../pyproject.toml | 3 ++- .../test-requirements.txt | 4 ++-- .../pyproject.toml | 3 ++- .../test-requirements.latest.txt | 5 ++++- .../test-requirements.oldest.txt | 13 +++++++++++-- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/exporter/opentelemetry-exporter-opencensus/pyproject.toml b/exporter/opentelemetry-exporter-opencensus/pyproject.toml index 45d271b5142..b111c82fe10 100644 --- a/exporter/opentelemetry-exporter-opencensus/pyproject.toml +++ b/exporter/opentelemetry-exporter-opencensus/pyproject.toml @@ -29,7 +29,8 @@ classifiers = [ ] dependencies = [ "grpcio >= 1.63.2, < 2.0.0; python_version < '3.13'", - "grpcio >= 1.66.2, < 2.0.0; python_version >= '3.13'", + "grpcio >= 1.66.2, < 2.0.0; python_version == '3.13'", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "opencensus-proto >= 0.1.0, < 1.0.0", "opentelemetry-api >= 1.39.0.dev", "opentelemetry-sdk >= 1.15", diff --git a/exporter/opentelemetry-exporter-opencensus/test-requirements.txt b/exporter/opentelemetry-exporter-opencensus/test-requirements.txt index 902bca5dbc8..e9229a9bb1e 100644 --- a/exporter/opentelemetry-exporter-opencensus/test-requirements.txt +++ b/exporter/opentelemetry-exporter-opencensus/test-requirements.txt @@ -1,5 +1,5 @@ asgiref==3.7.2 -grpcio==1.66.2 +grpcio==1.75.1 importlib-metadata==6.11.0 iniconfig==2.0.0 opencensus-proto==0.1.0 @@ -9,7 +9,7 @@ protobuf==3.20.3 py-cpuinfo==9.0.0 pytest==7.4.4 tomli==2.0.1 -typing_extensions==4.10.0 +typing_extensions==4.12.0 wrapt==1.16.0 zipp==3.19.2 -e opentelemetry-api diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml index d57097d8f62..5ad1a66eb13 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml @@ -29,7 +29,8 @@ classifiers = [ dependencies = [ "googleapis-common-protos ~= 1.57", "grpcio >= 1.63.2, < 2.0.0; python_version < '3.13'", - "grpcio >= 1.66.2, < 2.0.0; python_version >= '3.13'", + "grpcio >= 1.66.2, < 2.0.0; python_version == '3.13'", + "grpcio >= 1.75.1, < 2.0.0; python_version >= '3.14'", "opentelemetry-api ~= 1.15", "opentelemetry-proto == 1.39.0.dev", "opentelemetry-sdk ~= 1.39.0.dev", diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.latest.txt b/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.latest.txt index 4bdfadcd70c..748f3ee2bcc 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.latest.txt +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.latest.txt @@ -41,7 +41,9 @@ exceptiongroup==1.3.0 ; python_full_version < '3.11' # via pytest googleapis-common-protos==1.70.0 # via opentelemetry-exporter-otlp-proto-grpc -grpcio==1.73.0 +grpcio==1.73.0 ; python_full_version < '3.14' + # via opentelemetry-exporter-otlp-proto-grpc +grpcio==1.76.0 ; python_full_version >= '3.14' # via opentelemetry-exporter-otlp-proto-grpc importlib-metadata==8.7.0 # via opentelemetry-api @@ -72,6 +74,7 @@ typing-extensions==4.14.0 # via # asgiref # exceptiongroup + # grpcio # opentelemetry-api # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-sdk diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.oldest.txt b/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.oldest.txt index 43f95bcc037..f76ea9a04db 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.oldest.txt +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.oldest.txt @@ -43,7 +43,9 @@ googleapis-common-protos==1.63.1 # via opentelemetry-exporter-otlp-proto-grpc grpcio==1.63.2 ; python_full_version < '3.13' # via opentelemetry-exporter-otlp-proto-grpc -grpcio==1.66.2 ; python_full_version >= '3.13' +grpcio==1.66.2 ; python_full_version == '3.13.*' + # via opentelemetry-exporter-otlp-proto-grpc +grpcio==1.75.1 ; python_full_version >= '3.14' # via opentelemetry-exporter-otlp-proto-grpc importlib-metadata==6.0.0 # via opentelemetry-api @@ -70,12 +72,19 @@ pytest==7.4.4 # -r exporter/opentelemetry-exporter-otlp-proto-grpc/test-requirements.in tomli==1.0.0 ; python_full_version < '3.11' # via pytest -typing-extensions==4.6.0 +typing-extensions==4.6.0 ; python_full_version < '3.14' # via # asgiref # opentelemetry-api # opentelemetry-exporter-otlp-proto-grpc # opentelemetry-sdk # opentelemetry-semantic-conventions +typing-extensions==4.12.0 ; python_full_version >= '3.14' + # via + # grpcio + # opentelemetry-api + # opentelemetry-exporter-otlp-proto-grpc + # opentelemetry-sdk + # opentelemetry-semantic-conventions zipp==0.5.0 # via importlib-metadata From 54ecf4a466538c6d526183ae0fae0fa2b35c2369 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 10:50:45 -0300 Subject: [PATCH 05/10] fix shim --- .../test-requirements.txt | 2 +- opentelemetry-sdk/tests/logs/test_export.py | 4 +- .../test_asyncio.py | 9 +- .../test_client_server/test_asyncio.py | 9 +- .../test_asyncio.py | 9 +- .../test_late_span_finish/test_asyncio.py | 9 +- .../test_listener_per_request/test_asyncio.py | 9 +- .../test_multiple_callbacks/test_asyncio.py | 9 +- .../test_nested_callbacks/test_asyncio.py | 9 +- .../test_asyncio.py | 9 +- uv.lock | 87 ++++++++++++++++++- 11 files changed, 142 insertions(+), 23 deletions(-) diff --git a/exporter/opentelemetry-exporter-otlp/test-requirements.txt b/exporter/opentelemetry-exporter-otlp/test-requirements.txt index e8b7485937b..7c6a3691e29 100644 --- a/exporter/opentelemetry-exporter-otlp/test-requirements.txt +++ b/exporter/opentelemetry-exporter-otlp/test-requirements.txt @@ -6,7 +6,7 @@ pluggy==1.5.0 py-cpuinfo==9.0.0 pytest==7.4.4 tomli==2.0.1 -typing_extensions==4.10.0 +typing_extensions==4.12.0 wrapt==1.16.0 zipp==3.19.2 -e opentelemetry-api diff --git a/opentelemetry-sdk/tests/logs/test_export.py b/opentelemetry-sdk/tests/logs/test_export.py index 08ec5dcc31f..4b8d98693c5 100644 --- a/opentelemetry-sdk/tests/logs/test_export.py +++ b/opentelemetry-sdk/tests/logs/test_export.py @@ -17,9 +17,7 @@ import os import time import unittest -from concurrent.futures import ( - ThreadPoolExecutor, # pylint: disable=no-name-in-module -) +from concurrent.futures import ThreadPoolExecutor from sys import version_info from unittest.mock import Mock, patch diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py index 7ffad630d23..f658d2b65ca 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py @@ -21,9 +21,14 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + super().tearDown() def test_main(self): # Start an isolated task and query for its result -and finish it- diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py index adf99e76b23..4c092dc3e97 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py @@ -65,12 +65,17 @@ async def send(self): class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.queue = asyncio.Queue() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) self.server = Server(tracer=self.tracer, queue=self.queue) + def tearDown(self): + self.loop.close() + super().tearDown() + def test(self): client = Client(self.tracer, self.queue) self.loop.create_task(self.server.run()) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py index 58970a223c3..33ee4360db1 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py @@ -60,11 +60,16 @@ class TestAsyncio(OpenTelemetryTestCase): So one issue here is setting correct parent span. """ - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) self.client = Client(RequestHandler(self.tracer), self.loop) + def tearDown(self): + self.loop.close() + super().tearDown() + def test_two_callbacks(self): res_future1 = self.loop.create_task(self.client.send("message1")) res_future2 = self.loop.create_task(self.client.send("message2")) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py index d27e51ca88f..2b3ff1608ce 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py @@ -23,9 +23,14 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + super().tearDown() def test_main(self): # Create a Span and use it as (explicit) parent of a pair of subtasks. diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py index d0f0a6a577e..d279358d44b 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py @@ -43,9 +43,14 @@ def send_sync(self, message): class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + super().tearDown() def test_main(self): client = Client(self.tracer, self.loop) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py index bbfb620a840..66f795891e7 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py @@ -25,9 +25,14 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + super().tearDown() def test_main(self): # Need to run within a Task, as the scope manager depends diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py index f00258624ca..9b08a7d4be6 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py @@ -21,9 +21,14 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + super().tearDown() def test_main(self): # Start a Span and let the callback-chain diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py index 653f9bd810e..9f3cf83645b 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py @@ -20,9 +20,14 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() + asyncio.set_event_loop(self.loop) + + def tearDown(self): + self.loop.close() + super().tearDown() def test_main(self): res = self.loop.run_until_complete(self.parent_task("message")) diff --git a/uv.lock b/uv.lock index c578a5d28d7..a5d718e46c0 100644 --- a/uv.lock +++ b/uv.lock @@ -2,7 +2,8 @@ version = 1 revision = 1 requires-python = ">=3.9" resolution-markers = [ - "python_full_version >= '3.13'", + "python_full_version >= '3.14'", + "python_full_version == '3.13.*'", "python_full_version < '3.13'", "python_version < '0'", ] @@ -136,6 +137,10 @@ wheels = [ name = "grpcio" version = "1.70.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.13.*'", + "python_full_version < '3.13'", +] sdist = { url = "https://files.pythonhosted.org/packages/69/e1/4b21b5017c33f3600dcc32b802bb48fe44a4d36d6c066f52650c7c2690fa/grpcio-1.70.0.tar.gz", hash = "sha256:8d1584a68d5922330025881e63a6c1b54cc8117291d382e4fa69339b6d914c56", size = 12788932 } wheels = [ { url = "https://files.pythonhosted.org/packages/10/e9/f72408bac1f7b05b25e4df569b02d6b200c8e7857193aa9f1df7a3744add/grpcio-1.70.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:95469d1977429f45fe7df441f586521361e235982a0b39e33841549143ae2851", size = 5229736 }, @@ -185,6 +190,80 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4d/80/1aa2ba791207a13e314067209b48e1a0893ed8d1f43ef012e194aaa6c2de/grpcio-1.70.0-cp39-cp39-win_amd64.whl", hash = "sha256:a31d7e3b529c94e930a117b2175b2efd179d96eb3c7a21ccb0289a8ab05b645c", size = 4303506 }, ] +[[package]] +name = "grpcio" +version = "1.76.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14'", +] +dependencies = [ + { name = "typing-extensions", marker = "python_full_version >= '3.14'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b6/e0/318c1ce3ae5a17894d5791e87aea147587c9e702f24122cc7a5c8bbaeeb1/grpcio-1.76.0.tar.gz", hash = "sha256:7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73", size = 12785182 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/17/ff4795dc9a34b6aee6ec379f1b66438a3789cd1315aac0cbab60d92f74b3/grpcio-1.76.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:65a20de41e85648e00305c1bb09a3598f840422e522277641145a32d42dcefcc", size = 5840037 }, + { url = "https://files.pythonhosted.org/packages/4e/ff/35f9b96e3fa2f12e1dcd58a4513a2e2294a001d64dec81677361b7040c9a/grpcio-1.76.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:40ad3afe81676fd9ec6d9d406eda00933f218038433980aa19d401490e46ecde", size = 11836482 }, + { url = "https://files.pythonhosted.org/packages/3e/1c/8374990f9545e99462caacea5413ed783014b3b66ace49e35c533f07507b/grpcio-1.76.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:035d90bc79eaa4bed83f524331d55e35820725c9fbb00ffa1904d5550ed7ede3", size = 6407178 }, + { url = "https://files.pythonhosted.org/packages/1e/77/36fd7d7c75a6c12542c90a6d647a27935a1ecaad03e0ffdb7c42db6b04d2/grpcio-1.76.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4215d3a102bd95e2e11b5395c78562967959824156af11fa93d18fdd18050990", size = 7075684 }, + { url = "https://files.pythonhosted.org/packages/38/f7/e3cdb252492278e004722306c5a8935eae91e64ea11f0af3437a7de2e2b7/grpcio-1.76.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:49ce47231818806067aea3324d4bf13825b658ad662d3b25fada0bdad9b8a6af", size = 6611133 }, + { url = "https://files.pythonhosted.org/packages/7e/20/340db7af162ccd20a0893b5f3c4a5d676af7b71105517e62279b5b61d95a/grpcio-1.76.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8cc3309d8e08fd79089e13ed4819d0af72aa935dd8f435a195fd152796752ff2", size = 7195507 }, + { url = "https://files.pythonhosted.org/packages/10/f0/b2160addc1487bd8fa4810857a27132fb4ce35c1b330c2f3ac45d697b106/grpcio-1.76.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:971fd5a1d6e62e00d945423a567e42eb1fa678ba89072832185ca836a94daaa6", size = 8160651 }, + { url = "https://files.pythonhosted.org/packages/2c/2c/ac6f98aa113c6ef111b3f347854e99ebb7fb9d8f7bb3af1491d438f62af4/grpcio-1.76.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9d9adda641db7207e800a7f089068f6f645959f2df27e870ee81d44701dd9db3", size = 7620568 }, + { url = "https://files.pythonhosted.org/packages/90/84/7852f7e087285e3ac17a2703bc4129fafee52d77c6c82af97d905566857e/grpcio-1.76.0-cp310-cp310-win32.whl", hash = "sha256:063065249d9e7e0782d03d2bca50787f53bd0fb89a67de9a7b521c4a01f1989b", size = 3998879 }, + { url = "https://files.pythonhosted.org/packages/10/30/d3d2adcbb6dd3ff59d6ac3df6ef830e02b437fb5c90990429fd180e52f30/grpcio-1.76.0-cp310-cp310-win_amd64.whl", hash = "sha256:a6ae758eb08088d36812dd5d9af7a9859c05b1e0f714470ea243694b49278e7b", size = 4706892 }, + { url = "https://files.pythonhosted.org/packages/a0/00/8163a1beeb6971f66b4bbe6ac9457b97948beba8dd2fc8e1281dce7f79ec/grpcio-1.76.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:2e1743fbd7f5fa713a1b0a8ac8ebabf0ec980b5d8809ec358d488e273b9cf02a", size = 5843567 }, + { url = "https://files.pythonhosted.org/packages/10/c1/934202f5cf335e6d852530ce14ddb0fef21be612ba9ecbbcbd4d748ca32d/grpcio-1.76.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:a8c2cf1209497cf659a667d7dea88985e834c24b7c3b605e6254cbb5076d985c", size = 11848017 }, + { url = "https://files.pythonhosted.org/packages/11/0b/8dec16b1863d74af6eb3543928600ec2195af49ca58b16334972f6775663/grpcio-1.76.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:08caea849a9d3c71a542827d6df9d5a69067b0a1efbea8a855633ff5d9571465", size = 6412027 }, + { url = "https://files.pythonhosted.org/packages/d7/64/7b9e6e7ab910bea9d46f2c090380bab274a0b91fb0a2fe9b0cd399fffa12/grpcio-1.76.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:f0e34c2079d47ae9f6188211db9e777c619a21d4faba6977774e8fa43b085e48", size = 7075913 }, + { url = "https://files.pythonhosted.org/packages/68/86/093c46e9546073cefa789bd76d44c5cb2abc824ca62af0c18be590ff13ba/grpcio-1.76.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8843114c0cfce61b40ad48df65abcfc00d4dba82eae8718fab5352390848c5da", size = 6615417 }, + { url = "https://files.pythonhosted.org/packages/f7/b6/5709a3a68500a9c03da6fb71740dcdd5ef245e39266461a03f31a57036d8/grpcio-1.76.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8eddfb4d203a237da6f3cc8a540dad0517d274b5a1e9e636fd8d2c79b5c1d397", size = 7199683 }, + { url = "https://files.pythonhosted.org/packages/91/d3/4b1f2bf16ed52ce0b508161df3a2d186e4935379a159a834cb4a7d687429/grpcio-1.76.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:32483fe2aab2c3794101c2a159070584e5db11d0aa091b2c0ea9c4fc43d0d749", size = 8163109 }, + { url = "https://files.pythonhosted.org/packages/5c/61/d9043f95f5f4cf085ac5dd6137b469d41befb04bd80280952ffa2a4c3f12/grpcio-1.76.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dcfe41187da8992c5f40aa8c5ec086fa3672834d2be57a32384c08d5a05b4c00", size = 7626676 }, + { url = "https://files.pythonhosted.org/packages/36/95/fd9a5152ca02d8881e4dd419cdd790e11805979f499a2e5b96488b85cf27/grpcio-1.76.0-cp311-cp311-win32.whl", hash = "sha256:2107b0c024d1b35f4083f11245c0e23846ae64d02f40b2b226684840260ed054", size = 3997688 }, + { url = "https://files.pythonhosted.org/packages/60/9c/5c359c8d4c9176cfa3c61ecd4efe5affe1f38d9bae81e81ac7186b4c9cc8/grpcio-1.76.0-cp311-cp311-win_amd64.whl", hash = "sha256:522175aba7af9113c48ec10cc471b9b9bd4f6ceb36aeb4544a8e2c80ed9d252d", size = 4709315 }, + { url = "https://files.pythonhosted.org/packages/bf/05/8e29121994b8d959ffa0afd28996d452f291b48cfc0875619de0bde2c50c/grpcio-1.76.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:81fd9652b37b36f16138611c7e884eb82e0cec137c40d3ef7c3f9b3ed00f6ed8", size = 5799718 }, + { url = "https://files.pythonhosted.org/packages/d9/75/11d0e66b3cdf998c996489581bdad8900db79ebd83513e45c19548f1cba4/grpcio-1.76.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:04bbe1bfe3a68bbfd4e52402ab7d4eb59d72d02647ae2042204326cf4bbad280", size = 11825627 }, + { url = "https://files.pythonhosted.org/packages/28/50/2f0aa0498bc188048f5d9504dcc5c2c24f2eb1a9337cd0fa09a61a2e75f0/grpcio-1.76.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d388087771c837cdb6515539f43b9d4bf0b0f23593a24054ac16f7a960be16f4", size = 6359167 }, + { url = "https://files.pythonhosted.org/packages/66/e5/bbf0bb97d29ede1d59d6588af40018cfc345b17ce979b7b45424628dc8bb/grpcio-1.76.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:9f8f757bebaaea112c00dba718fc0d3260052ce714e25804a03f93f5d1c6cc11", size = 7044267 }, + { url = "https://files.pythonhosted.org/packages/f5/86/f6ec2164f743d9609691115ae8ece098c76b894ebe4f7c94a655c6b03e98/grpcio-1.76.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:980a846182ce88c4f2f7e2c22c56aefd515daeb36149d1c897f83cf57999e0b6", size = 6573963 }, + { url = "https://files.pythonhosted.org/packages/60/bc/8d9d0d8505feccfdf38a766d262c71e73639c165b311c9457208b56d92ae/grpcio-1.76.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f92f88e6c033db65a5ae3d97905c8fea9c725b63e28d5a75cb73b49bda5024d8", size = 7164484 }, + { url = "https://files.pythonhosted.org/packages/67/e6/5d6c2fc10b95edf6df9b8f19cf10a34263b7fd48493936fffd5085521292/grpcio-1.76.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4baf3cbe2f0be3289eb68ac8ae771156971848bb8aaff60bad42005539431980", size = 8127777 }, + { url = "https://files.pythonhosted.org/packages/3f/c8/dce8ff21c86abe025efe304d9e31fdb0deaaa3b502b6a78141080f206da0/grpcio-1.76.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:615ba64c208aaceb5ec83bfdce7728b80bfeb8be97562944836a7a0a9647d882", size = 7594014 }, + { url = "https://files.pythonhosted.org/packages/e0/42/ad28191ebf983a5d0ecef90bab66baa5a6b18f2bfdef9d0a63b1973d9f75/grpcio-1.76.0-cp312-cp312-win32.whl", hash = "sha256:45d59a649a82df5718fd9527ce775fd66d1af35e6d31abdcdc906a49c6822958", size = 3984750 }, + { url = "https://files.pythonhosted.org/packages/9e/00/7bd478cbb851c04a48baccaa49b75abaa8e4122f7d86da797500cccdd771/grpcio-1.76.0-cp312-cp312-win_amd64.whl", hash = "sha256:c088e7a90b6017307f423efbb9d1ba97a22aa2170876223f9709e9d1de0b5347", size = 4704003 }, + { url = "https://files.pythonhosted.org/packages/fc/ed/71467ab770effc9e8cef5f2e7388beb2be26ed642d567697bb103a790c72/grpcio-1.76.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:26ef06c73eb53267c2b319f43e6634c7556ea37672029241a056629af27c10e2", size = 5807716 }, + { url = "https://files.pythonhosted.org/packages/2c/85/c6ed56f9817fab03fa8a111ca91469941fb514e3e3ce6d793cb8f1e1347b/grpcio-1.76.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:45e0111e73f43f735d70786557dc38141185072d7ff8dc1829d6a77ac1471468", size = 11821522 }, + { url = "https://files.pythonhosted.org/packages/ac/31/2b8a235ab40c39cbc141ef647f8a6eb7b0028f023015a4842933bc0d6831/grpcio-1.76.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:83d57312a58dcfe2a3a0f9d1389b299438909a02db60e2f2ea2ae2d8034909d3", size = 6362558 }, + { url = "https://files.pythonhosted.org/packages/bd/64/9784eab483358e08847498ee56faf8ff6ea8e0a4592568d9f68edc97e9e9/grpcio-1.76.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:3e2a27c89eb9ac3d81ec8835e12414d73536c6e620355d65102503064a4ed6eb", size = 7049990 }, + { url = "https://files.pythonhosted.org/packages/2b/94/8c12319a6369434e7a184b987e8e9f3b49a114c489b8315f029e24de4837/grpcio-1.76.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:61f69297cba3950a524f61c7c8ee12e55c486cb5f7db47ff9dcee33da6f0d3ae", size = 6575387 }, + { url = "https://files.pythonhosted.org/packages/15/0f/f12c32b03f731f4a6242f771f63039df182c8b8e2cf8075b245b409259d4/grpcio-1.76.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6a15c17af8839b6801d554263c546c69c4d7718ad4321e3166175b37eaacca77", size = 7166668 }, + { url = "https://files.pythonhosted.org/packages/ff/2d/3ec9ce0c2b1d92dd59d1c3264aaec9f0f7c817d6e8ac683b97198a36ed5a/grpcio-1.76.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:25a18e9810fbc7e7f03ec2516addc116a957f8cbb8cbc95ccc80faa072743d03", size = 8124928 }, + { url = "https://files.pythonhosted.org/packages/1a/74/fd3317be5672f4856bcdd1a9e7b5e17554692d3db9a3b273879dc02d657d/grpcio-1.76.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:931091142fd8cc14edccc0845a79248bc155425eee9a98b2db2ea4f00a235a42", size = 7589983 }, + { url = "https://files.pythonhosted.org/packages/45/bb/ca038cf420f405971f19821c8c15bcbc875505f6ffadafe9ffd77871dc4c/grpcio-1.76.0-cp313-cp313-win32.whl", hash = "sha256:5e8571632780e08526f118f74170ad8d50fb0a48c23a746bef2a6ebade3abd6f", size = 3984727 }, + { url = "https://files.pythonhosted.org/packages/41/80/84087dc56437ced7cdd4b13d7875e7439a52a261e3ab4e06488ba6173b0a/grpcio-1.76.0-cp313-cp313-win_amd64.whl", hash = "sha256:f9f7bd5faab55f47231ad8dba7787866b69f5e93bc306e3915606779bbfb4ba8", size = 4702799 }, + { url = "https://files.pythonhosted.org/packages/b4/46/39adac80de49d678e6e073b70204091e76631e03e94928b9ea4ecf0f6e0e/grpcio-1.76.0-cp314-cp314-linux_armv7l.whl", hash = "sha256:ff8a59ea85a1f2191a0ffcc61298c571bc566332f82e5f5be1b83c9d8e668a62", size = 5808417 }, + { url = "https://files.pythonhosted.org/packages/9c/f5/a4531f7fb8b4e2a60b94e39d5d924469b7a6988176b3422487be61fe2998/grpcio-1.76.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:06c3d6b076e7b593905d04fdba6a0525711b3466f43b3400266f04ff735de0cd", size = 11828219 }, + { url = "https://files.pythonhosted.org/packages/4b/1c/de55d868ed7a8bd6acc6b1d6ddc4aa36d07a9f31d33c912c804adb1b971b/grpcio-1.76.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fd5ef5932f6475c436c4a55e4336ebbe47bd3272be04964a03d316bbf4afbcbc", size = 6367826 }, + { url = "https://files.pythonhosted.org/packages/59/64/99e44c02b5adb0ad13ab3adc89cb33cb54bfa90c74770f2607eea629b86f/grpcio-1.76.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:b331680e46239e090f5b3cead313cc772f6caa7d0fc8de349337563125361a4a", size = 7049550 }, + { url = "https://files.pythonhosted.org/packages/43/28/40a5be3f9a86949b83e7d6a2ad6011d993cbe9b6bd27bea881f61c7788b6/grpcio-1.76.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2229ae655ec4e8999599469559e97630185fdd53ae1e8997d147b7c9b2b72cba", size = 6575564 }, + { url = "https://files.pythonhosted.org/packages/4b/a9/1be18e6055b64467440208a8559afac243c66a8b904213af6f392dc2212f/grpcio-1.76.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:490fa6d203992c47c7b9e4a9d39003a0c2bcc1c9aa3c058730884bbbb0ee9f09", size = 7176236 }, + { url = "https://files.pythonhosted.org/packages/0f/55/dba05d3fcc151ce6e81327541d2cc8394f442f6b350fead67401661bf041/grpcio-1.76.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:479496325ce554792dba6548fae3df31a72cef7bad71ca2e12b0e58f9b336bfc", size = 8125795 }, + { url = "https://files.pythonhosted.org/packages/4a/45/122df922d05655f63930cf42c9e3f72ba20aadb26c100ee105cad4ce4257/grpcio-1.76.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1c9b93f79f48b03ada57ea24725d83a30284a012ec27eab2cf7e50a550cbbbcc", size = 7592214 }, + { url = "https://files.pythonhosted.org/packages/4a/6e/0b899b7f6b66e5af39e377055fb4a6675c9ee28431df5708139df2e93233/grpcio-1.76.0-cp314-cp314-win32.whl", hash = "sha256:747fa73efa9b8b1488a95d0ba1039c8e2dca0f741612d80415b1e1c560febf4e", size = 4062961 }, + { url = "https://files.pythonhosted.org/packages/19/41/0b430b01a2eb38ee887f88c1f07644a1df8e289353b78e82b37ef988fb64/grpcio-1.76.0-cp314-cp314-win_amd64.whl", hash = "sha256:922fa70ba549fce362d2e2871ab542082d66e2aaf0c19480ea453905b01f384e", size = 4834462 }, + { url = "https://files.pythonhosted.org/packages/6e/d5/301e71c7d22a5c7aabf1953dd1106987bd47f883377d528355f898a850f2/grpcio-1.76.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:8ebe63ee5f8fa4296b1b8cfc743f870d10e902ca18afc65c68cf46fd39bb0783", size = 5840371 }, + { url = "https://files.pythonhosted.org/packages/00/55/e3181adccff8808301dd9214b5e03c6db5a404b5ae8a6ec5768a5a65ed63/grpcio-1.76.0-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:3bf0f392c0b806905ed174dcd8bdd5e418a40d5567a05615a030a5aeddea692d", size = 11840384 }, + { url = "https://files.pythonhosted.org/packages/65/36/db1dfe943bce7180f5b6d9be564366ca1024a005e914a1f10212c24a840b/grpcio-1.76.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b7604868b38c1bfd5cf72d768aedd7db41d78cb6a4a18585e33fb0f9f2363fd", size = 6408765 }, + { url = "https://files.pythonhosted.org/packages/1e/79/a8452764aa4b5ca30a970e514ec2fc5cf75451571793f6b276b6807f67dc/grpcio-1.76.0-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:e6d1db20594d9daba22f90da738b1a0441a7427552cc6e2e3d1297aeddc00378", size = 7076220 }, + { url = "https://files.pythonhosted.org/packages/e0/61/4cca38c4e7bb3ac5a1e0be6cf700a4dd85c61cbd8a9c5e076c224967084e/grpcio-1.76.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d099566accf23d21037f18a2a63d323075bebace807742e4b0ac210971d4dd70", size = 6610195 }, + { url = "https://files.pythonhosted.org/packages/54/3d/3f8bfae264c22c95fa702c35aa2a8105b754b4ace049c66a8b2230c97671/grpcio-1.76.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ebea5cc3aa8ea72e04df9913492f9a96d9348db876f9dda3ad729cfedf7ac416", size = 7193343 }, + { url = "https://files.pythonhosted.org/packages/d1/cd/89f9254782b6cd94aa7c93fde370862877113b7189fb49900eaf9a706c82/grpcio-1.76.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:0c37db8606c258e2ee0c56b78c62fc9dee0e901b5dbdcf816c2dd4ad652b8b0c", size = 8161922 }, + { url = "https://files.pythonhosted.org/packages/af/e0/99eb899d7cb9c676afea70ab6d02a72a9e6ce24d0300f625773fafe6d547/grpcio-1.76.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ebebf83299b0cb1721a8859ea98f3a77811e35dce7609c5c963b9ad90728f886", size = 7617951 }, + { url = "https://files.pythonhosted.org/packages/79/26/dca1b2bfaa9981cc28fa995730c80eedb0b86c912c30d1b676f08232e6ab/grpcio-1.76.0-cp39-cp39-win32.whl", hash = "sha256:0aaa82d0813fd4c8e589fac9b65d7dd88702555f702fb10417f96e2a2a6d4c0f", size = 3999306 }, + { url = "https://files.pythonhosted.org/packages/de/d1/fb90564a981eedd3cd87dc6bfd7c249e8a515cfad1ed8e9af73be223cd3b/grpcio-1.76.0-cp39-cp39-win_amd64.whl", hash = "sha256:acab0277c40eff7143c2323190ea57b9ee5fd353d8190ee9652369fae735668a", size = 4708771 }, +] + [[package]] name = "idna" version = "3.10" @@ -249,7 +328,8 @@ name = "opentelemetry-exporter-otlp-proto-grpc" source = { editable = "exporter/opentelemetry-exporter-otlp-proto-grpc" } dependencies = [ { name = "googleapis-common-protos" }, - { name = "grpcio" }, + { name = "grpcio", version = "1.70.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, + { name = "grpcio", version = "1.76.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" }, { name = "opentelemetry-api" }, { name = "opentelemetry-exporter-otlp-proto-common" }, { name = "opentelemetry-proto" }, @@ -261,7 +341,8 @@ dependencies = [ requires-dist = [ { name = "googleapis-common-protos", specifier = "~=1.57" }, { name = "grpcio", marker = "python_full_version < '3.13'", specifier = ">=1.63.2,<2.0.0" }, - { name = "grpcio", marker = "python_full_version >= '3.13'", specifier = ">=1.66.2,<2.0.0" }, + { name = "grpcio", marker = "python_full_version == '3.13.*'", specifier = ">=1.66.2,<2.0.0" }, + { name = "grpcio", marker = "python_full_version >= '3.14'", specifier = ">=1.75.1,<2.0.0" }, { name = "opentelemetry-api", editable = "opentelemetry-api" }, { name = "opentelemetry-exporter-otlp-proto-common", editable = "exporter/opentelemetry-exporter-otlp-proto-common" }, { name = "opentelemetry-proto", editable = "opentelemetry-proto" }, From d17ce3c15f9f4a5a08f3a31e9e24c64c1401ab4f Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 10:55:26 -0300 Subject: [PATCH 06/10] fix shim again --- opentelemetry-sdk/tests/logs/test_export.py | 4 +++- .../tests/testbed/test_client_server/test_asyncio.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/opentelemetry-sdk/tests/logs/test_export.py b/opentelemetry-sdk/tests/logs/test_export.py index 4b8d98693c5..4d7c33e141a 100644 --- a/opentelemetry-sdk/tests/logs/test_export.py +++ b/opentelemetry-sdk/tests/logs/test_export.py @@ -17,7 +17,9 @@ import os import time import unittest -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) from sys import version_info from unittest.mock import Mock, patch diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py index 4c092dc3e97..ddf7626078a 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py @@ -67,9 +67,9 @@ async def send(self): class TestAsyncio(OpenTelemetryTestCase): def setUp(self): self.tracer = MockTracer() - self.queue = asyncio.Queue() self.loop = asyncio.new_event_loop() asyncio.set_event_loop(self.loop) + self.queue = asyncio.Queue() self.server = Server(tracer=self.tracer, queue=self.queue) def tearDown(self): From 11529f327cbb29a8a7a2b03435cf8b6ee1f66e30 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 11:02:52 -0300 Subject: [PATCH 07/10] fix shim lint --- .../tests/test_otlp_exporter_mixin.py | 4 +++- .../testbed/test_active_span_replacement/test_threads.py | 4 +++- .../tests/testbed/test_common_request_handler/test_threads.py | 4 +++- .../tests/testbed/test_late_span_finish/test_threads.py | 4 +++- .../tests/testbed/test_listener_per_request/test_threads.py | 4 +++- .../tests/testbed/test_multiple_callbacks/test_threads.py | 4 +++- .../tests/testbed/test_nested_callbacks/test_threads.py | 4 +++- .../testbed/test_subtask_span_propagation/test_threads.py | 4 +++- 8 files changed, 24 insertions(+), 8 deletions(-) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py index d64a601bbb4..25462a5e2ba 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py @@ -15,7 +15,9 @@ import threading import time import unittest -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) from logging import WARNING, getLogger from platform import system from typing import Any, Optional, Sequence diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py index fbd0eac308a..d088de5b9a3 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py @@ -12,7 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) # pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py index fdc0549d62f..0b62b177148 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py @@ -12,7 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) from opentracing.ext import tags diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py index 2cd43d7e70b..35edf0457da 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py @@ -13,7 +13,9 @@ # limitations under the License. import time -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) # pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py index 39d0a3d1d4c..498b7d9fcaa 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py @@ -12,7 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) from opentracing.ext import tags diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py index d94f834e513..c4b9967e88a 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py @@ -14,7 +14,9 @@ import random import time -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) # pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py index 955298537da..634641f8afe 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py @@ -12,7 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) # pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py index 0d003c9062a..8f719a2a446 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py @@ -12,7 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ( # pylint: disable=no-name-in-module + ThreadPoolExecutor, +) # pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer From f23aeeef85440faa28eebd85f84bd9ff421c930a Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 11:12:24 -0300 Subject: [PATCH 08/10] fix opencensus shim --- shim/opentelemetry-opencensus-shim/test-requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shim/opentelemetry-opencensus-shim/test-requirements.txt b/shim/opentelemetry-opencensus-shim/test-requirements.txt index 6718db8effd..18b01df8956 100644 --- a/shim/opentelemetry-opencensus-shim/test-requirements.txt +++ b/shim/opentelemetry-opencensus-shim/test-requirements.txt @@ -5,7 +5,7 @@ charset-normalizer==3.3.2 google-api-core==2.17.1 google-auth==2.28.1 googleapis-common-protos==1.63.2 -grpcio==1.66.2 +grpcio==1.75.1 idna==3.7 importlib-metadata==6.11.0 iniconfig==2.0.0 @@ -23,7 +23,7 @@ requests==2.32.3 rsa==4.9 six==1.16.0 tomli==2.0.1 -typing_extensions==4.10.0 +typing_extensions==4.12.0 urllib3==2.2.2 wrapt==1.16.0 zipp==3.19.2 From 1a0df5d7c4100149e890dbaef9100bc42d415818 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 11:54:27 -0300 Subject: [PATCH 09/10] fix otlp-http --- .../test-requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt b/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt index 3562b3c850c..3a87b92e970 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt +++ b/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements.txt @@ -1,20 +1,20 @@ asgiref==3.7.2 certifi==2024.7.4 charset-normalizer==3.3.2 -googleapis-common-protos==1.63.2 +googleapis-common-protos==1.70.0 idna==3.7 importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 pluggy==1.5.0 -protobuf==5.26.1 +protobuf==6.31.1 py-cpuinfo==9.0.0 pytest==7.4.4 PyYAML==6.0.1 requests==2.32.3 responses==0.24.1 tomli==2.0.1 -typing_extensions==4.10.0 +typing_extensions==4.12.0 urllib3==2.2.2 wrapt==1.16.0 zipp==3.19.2 From 1b98ce30b35074af767caf2f1d166001301afae0 Mon Sep 17 00:00:00 2001 From: emdneto <9735060+emdneto@users.noreply.github.com> Date: Thu, 6 Nov 2025 11:57:04 -0300 Subject: [PATCH 10/10] fix exporter-otlp-proto-common --- .../test-requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt b/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt index 1c295c81ca5..a992ffc6cce 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt +++ b/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt @@ -3,11 +3,11 @@ importlib-metadata==6.11.0 iniconfig==2.0.0 packaging==24.0 pluggy==1.5.0 -protobuf==5.26.1 +protobuf==6.31.1 py-cpuinfo==9.0.0 pytest==7.4.4 tomli==2.0.1 -typing_extensions==4.10.0 +typing_extensions==4.12.0 wrapt==1.16.0 zipp==3.19.2 -e opentelemetry-api