Skip to content

Commit b28d4cb

Browse files
committed
Add workflow for TCK
1 parent 23d5c48 commit b28d4cb

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

.github/workflows/run-tck.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build and Run TCK
2+
3+
on:
4+
push:
5+
branches:
6+
# - main
7+
pull_request:
8+
branches:
9+
# - main
10+
11+
12+
env:
13+
# Tag of the TCK
14+
TCK_VERSION: v0.2.3
15+
# Tells uv to not need a venv, and instead use system
16+
UV_SYSTEM_PYTHON: 1
17+
18+
19+
# Only run the latest job
20+
concurrency:
21+
group: '${{ github.workflow }} @ ${{ github.head_ref || github.ref }}'
22+
cancel-in-progress: true
23+
24+
jobs:
25+
build-and-test:
26+
name: Run TCK
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: Checkout sources
30+
uses: actions/checkout@v4
31+
- name: Checkout a2a-java
32+
uses: actions/checkout@v4
33+
with:
34+
repository: a2aproject/a2a-java
35+
path: a2a-java
36+
- name: Checkout a2a-tck
37+
uses: actions/checkout@v4
38+
with:
39+
repository: a2aproject/a2a-tck
40+
path: a2a-tck
41+
ref: ${{ env.TCK_VERSION }}
42+
- name: Set up JDK 17
43+
uses: actions/setup-java@v4
44+
with:
45+
java-version: '17'
46+
distribution: 'temurin'
47+
cache: maven
48+
- name: Build a2a-java with Maven, skipping tests
49+
run: |
50+
mvn -B install -DskipTests
51+
working-directory: a2a-java
52+
- name: Get a2a-java version and save as env var
53+
run: |
54+
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
55+
echo "SDK_VERSION=${VERSION}" >> "$GITHUB_ENV"
56+
working-directory: a2a-java
57+
- name: Build the TCK server
58+
run: |
59+
mvn clean install -B -Dversion.sdk=${SDK_VERSION} -pl tck -am
60+
- name: Set up Python
61+
uses: actions/setup-python@v5
62+
with:
63+
python-version-file: "a2a-tck/pyproject.toml"
64+
- name: Install uv and Python dependencies
65+
run: |
66+
pip install uv
67+
uv pip install -e .
68+
working-directory: a2a-tck
69+
- name: Start the WildFly SUT
70+
run: |
71+
mvn wildfly:start -B -pl tck -Dstartup-timeout=120
72+
- name: Run TCK
73+
run: |
74+
./run_tck.py --sut-url http://localhost:8080 --category all --compliance-report report.json
75+
working-directory: a2a-tck
76+
- name: Start the WildFly SUT
77+
run: |
78+
mvn wildfly:shutdown
79+
80+

0 commit comments

Comments
 (0)