22name : Run Unit Tests
33on :
44 push :
5- branches : [main]
5+ branches : [main, 1.0-dev ]
66 pull_request :
77permissions :
88 contents : read
3838
3939 strategy :
4040 matrix :
41- python-version : ['3.10', '3.13 ']
41+ python-version : ['3.10', '3.11', '3.12', '3.13', '3.14 ']
4242 steps :
4343 - name : Checkout code
4444 uses : actions/checkout@v6
@@ -54,45 +54,47 @@ jobs:
5454 - name : Add uv to PATH
5555 run : |
5656 echo "$HOME/.cargo/bin" >> $GITHUB_PATH
57- - name : Install dependencies
58- run : uv sync --locked
5957
60- # Coverage comparison for PRs (only on Python 3.13 to avoid duplicate work)
58+
59+ # Coverage comparison for PRs (only on Python 3.14 to avoid duplicate work)
6160 - name : Checkout Base Branch
62- if : github.event_name == 'pull_request' && matrix.python-version == '3.13 '
61+ if : github.event_name == 'pull_request' && matrix.python-version == '3.14 '
6362 uses : actions/checkout@v4
6463 with :
6564 ref : ${{ github.event.pull_request.base.ref || 'main' }}
6665 clean : true
66+
67+ - name : Install dependencies
68+ run : uv sync --locked
6769
6870 - name : Run coverage (Base)
69- if : github.event_name == 'pull_request' && matrix.python-version == '3.13 '
71+ if : github.event_name == 'pull_request' && matrix.python-version == '3.14 '
7072 run : |
7173 uv run pytest --cov=a2a --cov-report=json --cov-report=html:coverage
7274 mv coverage.json /tmp/coverage-base.json
7375
7476 - name : Checkout PR Branch (Restore)
75- if : github.event_name == 'pull_request' && matrix.python-version == '3.13 '
77+ if : github.event_name == 'pull_request' && matrix.python-version == '3.14 '
7678 uses : actions/checkout@v4
7779 with :
7880 clean : true
7981
8082 - name : Run coverage (PR)
81- if : github.event_name == 'pull_request' && matrix.python-version == '3.13 '
83+ if : github.event_name == 'pull_request' && matrix.python-version == '3.14 '
8284 run : |
8385 uv run pytest --cov=a2a --cov-report=json --cov-report=html:coverage --cov-report=term --cov-fail-under=88
8486 mv coverage.json coverage-pr.json
8587 cp /tmp/coverage-base.json coverage-base.json
8688
8789 - name : Save Metadata
88- if : github.event_name == 'pull_request' && matrix.python-version == '3.13 '
90+ if : github.event_name == 'pull_request' && matrix.python-version == '3.14 '
8991 run : |
9092 echo ${{ github.event.number }} > ./PR_NUMBER
9193 echo ${{ github.event.pull_request.base.ref || 'main' }} > ./BASE_BRANCH
9294
9395 - name : Upload Coverage Artifacts
9496 uses : actions/upload-artifact@v4
95- if : github.event_name == 'pull_request' && matrix.python-version == '3.13 '
97+ if : github.event_name == 'pull_request' && matrix.python-version == '3.14 '
9698 with :
9799 name : coverage-data
98100 path : |
@@ -105,12 +107,12 @@ jobs:
105107
106108 # Run standard tests (for matrix items that didn't run coverage PR)
107109 - name : Run tests (Standard)
108- if : matrix.python-version != '3.13 ' || github.event_name != 'pull_request'
110+ if : matrix.python-version != '3.14 ' || github.event_name != 'pull_request'
109111 run : uv run pytest --cov=a2a --cov-report term --cov-fail-under=88
110112
111113 - name : Upload Artifact (base)
112114 uses : actions/upload-artifact@v4
113- if : github.event_name != 'pull_request' && matrix.python-version == '3.13 '
115+ if : github.event_name != 'pull_request' && matrix.python-version == '3.14 '
114116 with :
115117 name : coverage-report
116118 path : coverage
0 commit comments