Skip to content

Commit 7e91f1b

Browse files
committed
conditional test deps
1 parent 5844922 commit 7e91f1b

File tree

5 files changed

+56
-11
lines changed

5 files changed

+56
-11
lines changed

.github/workflows/templates/test.yml.j2

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ env:
3030

3131
jobs:
3232
{%- for job_data in job_datas %}
33-
{#- grpcio has no wheel for free-threaded Python or PyPy on Windows; Ubuntu builds from source fine #}
34-
{%- if not (("py314t" in job_data.tox_env or "pypy3" in job_data.tox_env) and "test-opentelemetry-test-utils" in job_data.tox_env and job_data.os == "windows-latest") %}
3533

3634
{{ job_data.name }}:
3735
name: {{ job_data.ui_name }}
@@ -73,5 +71,4 @@ jobs:
7371

7472
- name: Run tests
7573
run: tox -e {{ job_data.tox_env }} -- -ra
76-
{%- endif %}
7774
{%- endfor %}

.github/workflows/test.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6259,3 +6259,45 @@ jobs:
62596259

62606260
- name: Run tests
62616261
run: tox -e py314-test-opentelemetry-test-utils -- -ra
6262+
6263+
py314t-test-opentelemetry-test-utils_windows-latest:
6264+
name: opentelemetry-test-utils 3.14t Windows
6265+
runs-on: windows-latest
6266+
timeout-minutes: 30
6267+
steps:
6268+
- name: Configure git to support long filenames
6269+
run: git config --system core.longpaths true
6270+
- name: Checkout repo @ SHA - ${{ github.sha }}
6271+
uses: actions/checkout@v4
6272+
6273+
- name: Set up Python 3.14t
6274+
uses: actions/setup-python@v5
6275+
with:
6276+
python-version: "3.14t"
6277+
6278+
- name: Install tox
6279+
run: pip install tox-uv
6280+
6281+
- name: Run tests
6282+
run: tox -e py314t-test-opentelemetry-test-utils -- -ra
6283+
6284+
pypy3-test-opentelemetry-test-utils_windows-latest:
6285+
name: opentelemetry-test-utils pypy-3.10 Windows
6286+
runs-on: windows-latest
6287+
timeout-minutes: 30
6288+
steps:
6289+
- name: Configure git to support long filenames
6290+
run: git config --system core.longpaths true
6291+
- name: Checkout repo @ SHA - ${{ github.sha }}
6292+
uses: actions/checkout@v4
6293+
6294+
- name: Set up Python pypy-3.10
6295+
uses: actions/setup-python@v5
6296+
with:
6297+
python-version: "pypy-3.10"
6298+
6299+
- name: Install tox
6300+
run: pip install tox-uv
6301+
6302+
- name: Run tests
6303+
run: tox -e pypy3-test-opentelemetry-test-utils -- -ra

tests/opentelemetry-test-utils/test-requirements.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,4 @@ zipp==3.19.2
1212
-e opentelemetry-api
1313
-e opentelemetry-sdk
1414
-e opentelemetry-semantic-conventions
15-
-e tests/opentelemetry-test-utils
16-
-e opentelemetry-proto
17-
-e exporter/opentelemetry-exporter-otlp-proto-common
18-
-e exporter/opentelemetry-exporter-otlp-proto-grpc
15+
-e tests/opentelemetry-test-utils

tests/opentelemetry-test-utils/tests/test_weaver_live_check.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
import shutil
2323
import unittest
2424

25-
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (
26-
OTLPSpanExporter,
27-
)
2825
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
2926
from opentelemetry.sdk.trace import TracerProvider
3027
from opentelemetry.sdk.trace.export import BatchSpanProcessor
@@ -34,6 +31,15 @@
3431
WeaverLiveCheck,
3532
)
3633

34+
try:
35+
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (
36+
OTLPSpanExporter,
37+
)
38+
39+
_HAS_GRPC = True
40+
except ImportError:
41+
_HAS_GRPC = False
42+
3743
_TESTDATA_DIR = os.path.join(os.path.dirname(__file__), "testdata")
3844

3945

@@ -45,6 +51,10 @@ def _make_provider(otlp_endpoint: str) -> TracerProvider:
4551
return provider
4652

4753

54+
@unittest.skipUnless(
55+
_HAS_GRPC,
56+
"grpc exporter not installed",
57+
)
4858
@unittest.skipUnless(
4959
shutil.which("weaver") is not None,
5060
"weaver binary not found on PATH — install from https://github.com/open-telemetry/weaver/releases",

tox.ini

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ envlist =
9393
lint-opentelemetry-propagator-jaeger
9494

9595
py3{10,11,12,13,14,14t}-test-opentelemetry-test-utils
96-
; intentionally excluded from py314t on Windows (grpcio has no wheel for free-threaded Python)
9796
pypy3-test-opentelemetry-test-utils
9897
lint-opentelemetry-test-utils
9998

0 commit comments

Comments
 (0)