Merge pull request #40 from kabir/bump-next-version #147
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Run TCK | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| env: | |
| # Tag of the TCK | |
| TCK_VERSION: 0.3.0.beta3 | |
| # Tells uv to not need a venv, and instead use system | |
| UV_SYSTEM_PYTHON: 1 | |
| # Only run the latest job | |
| concurrency: | |
| group: '${{ github.workflow }} @ ${{ github.head_ref || github.ref }}' | |
| cancel-in-progress: true | |
| jobs: | |
| build-and-test: | |
| name: Run TCK | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Check if SDK version is SNAPSHOT | |
| run: | | |
| SDK_VERSION=$(mvn help:evaluate -Dexpression=version.sdk -q -DforceStdout) | |
| echo "SDK_VERSION=${SDK_VERSION}" >> "$GITHUB_ENV" | |
| if [[ "${SDK_VERSION}" == *"-SNAPSHOT" ]]; then | |
| echo "IS_SNAPSHOT=true" >> "$GITHUB_ENV" | |
| else | |
| echo "IS_SNAPSHOT=false" >> "$GITHUB_ENV" | |
| fi | |
| - name: Checkout a2a-java | |
| if: env.IS_SNAPSHOT == 'true' | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: a2aproject/a2a-java | |
| path: a2a-java | |
| ref: 0.3.x | |
| - name: Checkout a2a-tck | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: a2aproject/a2a-tck | |
| path: a2a-tck | |
| ref: ${{ env.TCK_VERSION }} | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: maven | |
| - name: Build a2a-java with Maven, skipping tests | |
| if: env.IS_SNAPSHOT == 'true' | |
| run: | | |
| mvn -B install -DskipTests | |
| working-directory: a2a-java | |
| - name: Get a2a-java version and save as env var | |
| if: env.IS_SNAPSHOT == 'true' | |
| run: | | |
| VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | |
| echo "SDK_VERSION=${VERSION}" >> "$GITHUB_ENV" | |
| working-directory: a2a-java | |
| - name: Build the TCK server | |
| run: | | |
| mvn clean install -B -Dversion.sdk=${SDK_VERSION} -pl tck -am | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version-file: "a2a-tck/pyproject.toml" | |
| - name: Install uv and Python dependencies | |
| run: | | |
| pip install uv | |
| uv pip install -e . | |
| working-directory: a2a-tck | |
| - name: Start the WildFly SUT | |
| run: | | |
| SUT_JSONRPC_URL=http://localhost:8080 SUT_REST_URL=http://localhost:8080 SUT_GRPC_URL=http://localhost:9555 mvn wildfly:start -B -Dversion.sdk=${SDK_VERSION} -pl tck -Dstartup-timeout=120 -Dwildfly.serverArgs="--stability=preview" | |
| - name: Run TCK | |
| env: | |
| SUT_JSONRPC_URL: http://localhost:8080 | |
| TCK_STREAMING_TIMEOUT: 4.0 | |
| run: | | |
| ./run_tck.py --sut-url ${SUT_JSONRPC_URL} --category all --transports jsonrpc,grpc,rest --compliance-report report.json | |
| working-directory: a2a-tck | |
| - name: Start the WildFly SUT | |
| run: | | |
| mvn wildfly:shutdown | |
| - name: Upload tck server.log | |
| uses: actions/upload-artifact@v4 | |
| if: always() # Upload even if previous steps fail | |
| with: | |
| name: tck-server-log | |
| path: tck/target/wildfly/standalone/log/server.log | |
| retention-days: 5 | |