| 
7 | 7 |   # Can be triggered manually from the actions tab, if needed  | 
8 | 8 |   workflow_dispatch:  | 
9 | 9 | 
 
  | 
 | 10 | + | 
10 | 11 | jobs:  | 
11 | 12 |   test:  | 
12 |  | -    name: test on Python ${{ matrix.python-version }} and pydantic ${{ matrix.pydantic-version }}  | 
 | 13 | +    name: test on Python ${{ matrix.python-version }}, pydantic ${{ matrix.pydantic-version }}, otel ${{ matrix.otel-version }}  | 
13 | 14 |     runs-on: ubuntu-latest  | 
14 | 15 |     strategy:  | 
15 | 16 |       fail-fast: false  | 
16 | 17 |       matrix:  | 
17 | 18 |         python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]  | 
18 | 19 |         pydantic-version: ['main']  | 
 | 20 | +        otel-version: ['1']  # i.e. the latest  | 
19 | 21 |         include:  | 
 | 22 | +          # Pydantic versions  | 
20 | 23 |           - python-version: '3.12'  | 
21 | 24 |             pydantic-version: '2.4'  | 
 | 25 | +            otel-version: '1'  | 
22 | 26 |           - python-version: '3.12'  | 
23 | 27 |             pydantic-version: '2.5'  | 
 | 28 | +            otel-version: '1'  | 
24 | 29 |           - python-version: '3.12'  | 
25 | 30 |             pydantic-version: '2.6'  | 
 | 31 | +            otel-version: '1'  | 
26 | 32 |           - python-version: '3.12'  | 
27 | 33 |             pydantic-version: '2.7'  | 
 | 34 | +            otel-version: '1'  | 
28 | 35 |           - python-version: '3.13'  | 
29 | 36 |             pydantic-version: '2.8'  | 
 | 37 | +            otel-version: '1'  | 
30 | 38 |           - python-version: '3.13'  | 
31 | 39 |             pydantic-version: '2.9'  | 
 | 40 | +            otel-version: '1'  | 
32 | 41 |           - python-version: '3.13'  | 
33 | 42 |             pydantic-version: '2.10'  | 
 | 43 | +            otel-version: '1'  | 
34 | 44 |           - python-version: '3.13'  | 
35 | 45 |             pydantic-version: '2.11'  | 
 | 46 | +            otel-version: '1'  | 
 | 47 | +          # OpenTelemetry versions  | 
 | 48 | +          - python-version: '3.13'  | 
 | 49 | +            pydantic-version: 'main'  | 
 | 50 | +            otel-version: '1.33'  | 
 | 51 | +          - python-version: '3.13'  | 
 | 52 | +            pydantic-version: 'main'  | 
 | 53 | +            otel-version: '1.32'  | 
 | 54 | +          - python-version: '3.13'  | 
 | 55 | +            pydantic-version: 'main'  | 
 | 56 | +            otel-version: '1.31'  | 
 | 57 | +          - python-version: '3.13'  | 
 | 58 | +            pydantic-version: 'main'  | 
 | 59 | +            otel-version: '1.30'  | 
36 | 60 |     env:  | 
37 | 61 |       PYTHON: ${{ matrix.python-version }}  | 
38 | 62 |     steps:  | 
 | 
59 | 83 |         # installs the most recent patch on the minor version's track, ex 2.6.0 -> 2.6.4  | 
60 | 84 |         run: uv pip install 'pydantic==${{ matrix.pydantic-version }}.*'  | 
61 | 85 | 
 
  | 
 | 86 | +      - name: Install OTel SDK ${{ matrix.otel-version }}  | 
 | 87 | +        # installs the most recent patch on the minor version's track, ex 2.6.* -> 2.6.4  | 
 | 88 | +        run: |  | 
 | 89 | +          uv pip install 'opentelemetry-sdk==${{ matrix.otel-version }}.*'  | 
 | 90 | +          uv pip install 'opentelemetry-exporter-otlp-proto-http==${{ matrix.otel-version }}.*'  | 
 | 91 | +
  | 
62 | 92 |       - run: uv run --no-sync pytest  | 
63 | 93 | 
 
  | 
64 | 94 |   notify-on-failure:  | 
 | 
0 commit comments