mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-07-31 11:54:55 +00:00
* fix(sdk-java): propagate daemon event epochs Pair SSE cursors with the daemon event epoch, learn validated response epochs, and fail closed when the epoch changes during prompt observation. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * fix(sdk-java): harden daemon reliability follow-ups Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * test(sdk-java): cover duplicate SSE event epoch headers * test(sdk-java): restore retryable admission coverage Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> --------- Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
121 lines
3.7 KiB
YAML
121 lines
3.7 KiB
YAML
name: 'SDK Java'
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- 'main'
|
|
- 'release/**'
|
|
paths:
|
|
- 'packages/sdk-java/**'
|
|
- 'packages/cli/src/commands/serve.ts'
|
|
- 'packages/cli/src/serve/**'
|
|
- 'packages/cli/src/acp-integration/**'
|
|
- 'packages/acp-bridge/**'
|
|
- 'integration-tests/fake-openai-server.ts'
|
|
- 'package.json'
|
|
- 'package-lock.json'
|
|
- 'docs/developers/sdk-java.md'
|
|
- 'docs/design/java-daemon-sdk-alpha.md'
|
|
- 'scripts/run-java-daemon-sdk-e2e.ts'
|
|
- '.github/workflows/sdk-java.yml'
|
|
- '.github/workflows/release-sdk-java.yml'
|
|
push:
|
|
branches:
|
|
- 'main'
|
|
- 'release/**'
|
|
paths:
|
|
- 'packages/sdk-java/**'
|
|
- 'packages/cli/src/commands/serve.ts'
|
|
- 'packages/cli/src/serve/**'
|
|
- 'packages/cli/src/acp-integration/**'
|
|
- 'packages/acp-bridge/**'
|
|
- 'integration-tests/fake-openai-server.ts'
|
|
- 'package.json'
|
|
- 'package-lock.json'
|
|
- 'docs/developers/sdk-java.md'
|
|
- 'docs/design/java-daemon-sdk-alpha.md'
|
|
- 'scripts/run-java-daemon-sdk-e2e.ts'
|
|
- '.github/workflows/sdk-java.yml'
|
|
- '.github/workflows/release-sdk-java.yml'
|
|
|
|
permissions:
|
|
contents: 'read'
|
|
|
|
jobs:
|
|
test:
|
|
name: '${{ matrix.os }} / Java ${{ matrix.java }}'
|
|
runs-on: '${{ matrix.os }}'
|
|
timeout-minutes: 30
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: 'ubuntu-latest'
|
|
java: '11'
|
|
- os: 'ubuntu-latest'
|
|
java: '17'
|
|
- os: 'ubuntu-latest'
|
|
java: '21'
|
|
- os: 'macos-latest'
|
|
java: '21'
|
|
- os: 'windows-latest'
|
|
java: '21'
|
|
steps:
|
|
- name: 'Checkout'
|
|
uses: 'actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10' # v6.0.3
|
|
|
|
- name: 'Set up Java'
|
|
uses: 'actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654' # v5.2.0
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '${{ matrix.java }}'
|
|
cache: 'maven'
|
|
cache-dependency-path: 'packages/sdk-java/qwencode/pom.xml'
|
|
|
|
- name: 'Run Java SDK tests'
|
|
working-directory: 'packages/sdk-java/qwencode'
|
|
run: 'mvn --batch-mode --no-transfer-progress clean test'
|
|
|
|
- name: 'Run Java SDK Checkstyle'
|
|
if: "${{ matrix.os == 'ubuntu-latest' && matrix.java == '11' }}"
|
|
working-directory: 'packages/sdk-java/qwencode'
|
|
run: 'mvn --batch-mode --no-transfer-progress checkstyle:check'
|
|
|
|
- name: 'Build release artifacts'
|
|
if: "${{ matrix.os == 'ubuntu-latest' && matrix.java == '11' }}"
|
|
working-directory: 'packages/sdk-java/qwencode'
|
|
run: 'mvn --batch-mode --no-transfer-progress -DskipTests -Dgpg.skip=true package'
|
|
|
|
daemon-e2e:
|
|
name: 'Real daemon E2E / Java 11'
|
|
runs-on: 'ubuntu-latest'
|
|
timeout-minutes: 30
|
|
steps:
|
|
- name: 'Checkout'
|
|
uses: 'actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10' # v6.0.3
|
|
|
|
- name: 'Set up Node.js'
|
|
uses: 'actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e' # v6.4.0
|
|
with:
|
|
node-version: '22'
|
|
cache: 'npm'
|
|
|
|
- name: 'Set up Java'
|
|
uses: 'actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654' # v5.2.0
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '11'
|
|
cache: 'maven'
|
|
cache-dependency-path: 'packages/sdk-java/qwencode/pom.xml'
|
|
|
|
- name: 'Install Node.js dependencies'
|
|
run: 'npm ci --prefer-offline --no-audit --progress=false'
|
|
|
|
- name: 'Build Qwen Code'
|
|
run: 'npm run build'
|
|
|
|
- name: 'Bundle Qwen Code'
|
|
run: 'npm run bundle'
|
|
|
|
- name: 'Run Java daemon E2E'
|
|
run: 'npx tsx scripts/run-java-daemon-sdk-e2e.ts'
|