feat(hitl): add createHITLRequest — paired SDK release for ADK plugin v1 #75
Workflow file for this run
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: heartbeat-real-stack | |
| # Real-stack heartbeat E2E across Linux + Windows + macOS. Stands up a | |
| # localhost fake checkpoint server, constructs the SDK through its | |
| # public API, verifies (a) the OS-native stamp file appears, (b) the | |
| # checkpoint endpoint received exactly one ping, (c) a second | |
| # invocation does NOT re-fire (warm-cache regression). | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| env: | |
| AXONFLOW_TELEMETRY: 'off' | |
| jobs: | |
| real-stack: | |
| name: real-stack ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| cache: 'maven' | |
| - name: Set up Python (for harness driver) | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Build SDK jar | |
| # bash on every OS — PowerShell on Windows mangles -D... arguments, | |
| # splitting `-Dmaven.javadoc.skip=true` into ".javadoc.skip=true" as | |
| # a phase. The bash shell on Windows runners (Git Bash) handles -D | |
| # quoting consistently with Linux/macOS. | |
| shell: bash | |
| run: mvn -B -DskipTests package -Dmaven.javadoc.skip=true | |
| # Compile smoke + run real-stack E2E in a single shell so the | |
| # classpath separator (`:` on Linux/macOS, `;` on Windows) is | |
| # native to the shell and consistent across javac + java steps. | |
| - name: Compile + run real-stack heartbeat E2E (cold + warm) | |
| shell: bash | |
| run: | | |
| set -e | |
| SDK_JAR=$(ls target/axonflow-sdk-*.jar | grep -v sources | head -1) | |
| mvn -B dependency:build-classpath -Dmdep.outputFile=cp.txt -Dmdep.includeScope=runtime | |
| DEPS=$(cat cp.txt) | |
| # bash on Windows runners (Git Bash) handles ':' as the path | |
| # separator inside the shell process, but `java` and `javac` | |
| # are native Windows binaries that need ';'. Detect and rewrite. | |
| if [[ "$RUNNER_OS" == "Windows" ]]; then | |
| CP_SEP=';' | |
| else | |
| CP_SEP=':' | |
| fi | |
| mkdir -p tests/heartbeat-real-stack/build | |
| javac -d tests/heartbeat-real-stack/build \ | |
| -cp "${SDK_JAR}${CP_SEP}${DEPS}" \ | |
| tests/heartbeat-real-stack/SmokeJava.java | |
| CP="tests/heartbeat-real-stack/build${CP_SEP}${SDK_JAR}${CP_SEP}${DEPS}" | |
| python tests/heartbeat-real-stack/run_real_stack.py java -cp "$CP" SmokeJava |