Skip to content

Commit 1ae6ab4

Browse files
feat: Add a2a-tck runs to CI for PRs (GH-152)
Signed-off-by: jonghoonpark <[email protected]>
1 parent 9a8e9e5 commit 1ae6ab4

File tree

3 files changed

+74
-2
lines changed

3 files changed

+74
-2
lines changed

.github/workflows/tck-test.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Tck Test
2+
3+
on:
4+
# Handle all branches for now
5+
push:
6+
pull_request:
7+
8+
# Only run the latest job
9+
concurrency:
10+
group: '${{ github.workflow }} @ ${{ github.head_ref || github.ref }}'
11+
cancel-in-progress: true
12+
13+
jobs:
14+
tck-test:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Set up JDK 17
19+
uses: actions/setup-java@v4
20+
with:
21+
java-version: '17'
22+
distribution: 'temurin'
23+
cache: maven
24+
- name: check java_home
25+
run: echo $JAVA_HOME
26+
- name: Set up Python
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: '3.11'
30+
- name: Install uv
31+
run: |
32+
pip install uv
33+
- name: Maven Install
34+
run: mvn clean install -DskipTests=true
35+
- name: Start SUT and run test
36+
run: |
37+
cd ./tck
38+
mvn clean install -DskipTests=true
39+
mvn -B quarkus:run > quarkus.log 2>&1 &
40+
for i in {1..60}; do
41+
if curl -s http://localhost:9000/q/health | grep '"status": "UP"' > /dev/null; then
42+
echo "✅ SUT is UP"
43+
break
44+
fi
45+
echo "⏳ Waiting for SUT... ($i/60)"
46+
echo "Last few lines from quarkus.log:"
47+
tail -n 5 ./quarkus.log
48+
sleep 5
49+
done
50+
51+
# Check if loop exited normally (SUT is not up)
52+
if ! curl -s http://localhost:9000/q/health | grep '"status": "UP"' > /dev/null; then
53+
echo "❌ SUT failed to start within timeout."
54+
echo "Full quarkus.log for debugging:"
55+
cat ./quarkus.log
56+
exit 1
57+
fi
58+
59+
git clone --depth 1 --branch 0.2.3 https://github.com/maeste/a2a-tck.git
60+
cd a2a-tck
61+
uv venv
62+
source .venv/bin/activate
63+
uv pip install -e .
64+
./run_tck.py --sut-url http://localhost:9999 --category all --compliance-report report.json

tck/pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535
<groupId>jakarta.ws.rs</groupId>
3636
<artifactId>jakarta.ws.rs-api</artifactId>
3737
</dependency>
38+
<dependency>
39+
<groupId>io.quarkus</groupId>
40+
<artifactId>quarkus-smallrye-health</artifactId>
41+
</dependency>
3842
</dependencies>
3943

4044
<build>
@@ -55,4 +59,4 @@
5559
</plugin>
5660
</plugins>
5761
</build>
58-
</project>
62+
</project>
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
%dev.quarkus.http.port=9999
1+
%dev.quarkus.http.port=9999
2+
%prod.quarkus.http.port=9999
3+
%prod.quarkus.management.host=0.0.0.0
4+
%prod.quarkus.management.port=9000
5+
%prod.quarkus.management.enabled=true

0 commit comments

Comments
 (0)