





















@@ -1,4 +1,4 @@
1-name: QA-Lab - Live Telegram, Live Frontier
1+name: QA-Lab - All Lanes
2233on:
44schedule:
@@ -20,7 +20,7 @@ permissions:
2020pull-requests: read
21212222concurrency:
23-group: qa-lab-live-telegram-live-frontier-${{ github.event_name == 'workflow_dispatch' && inputs.ref || github.sha }}
23+group: qa-lab-all-lanes-${{ github.event_name == 'workflow_dispatch' && inputs.ref || github.sha }}
2424cancel-in-progress: false
25252626env:
@@ -115,6 +115,140 @@ jobs:
115115 echo "Trust reason: \`$trusted_reason\`"
116116 } >> "$GITHUB_STEP_SUMMARY"
117117118+ run_mock_parity:
119+name: Run QA Lab parity gate
120+needs: [validate_selected_ref]
121+runs-on: blacksmith-32vcpu-ubuntu-2404
122+timeout-minutes: 30
123+env:
124+QA_PARITY_CONCURRENCY: "1"
125+OPENCLAW_QA_TRANSPORT_READY_TIMEOUT_MS: "180000"
126+OPENAI_API_KEY: ""
127+ANTHROPIC_API_KEY: ""
128+OPENCLAW_LIVE_OPENAI_KEY: ""
129+OPENCLAW_LIVE_ANTHROPIC_KEY: ""
130+OPENCLAW_LIVE_GEMINI_KEY: ""
131+OPENCLAW_LIVE_SETUP_TOKEN_VALUE: ""
132+steps:
133+ - name: Checkout selected ref
134+uses: actions/checkout@v6
135+with:
136+ref: ${{ needs.validate_selected_ref.outputs.selected_sha }}
137+fetch-depth: 1
138+139+ - name: Setup Node environment
140+uses: ./.github/actions/setup-node-env
141+with:
142+node-version: ${{ env.NODE_VERSION }}
143+pnpm-version: ${{ env.PNPM_VERSION }}
144+install-bun: "true"
145+146+ - name: Build private QA runtime
147+run: pnpm build
148+149+ - name: Run GPT-5.4 lane
150+run: |
151+ pnpm openclaw qa suite \
152+ --provider-mode mock-openai \
153+ --parity-pack agentic \
154+ --concurrency "${QA_PARITY_CONCURRENCY}" \
155+ --model openai/gpt-5.4 \
156+ --alt-model openai/gpt-5.4-alt \
157+ --output-dir .artifacts/qa-e2e/gpt54
158+159+ - name: Run Opus 4.6 lane
160+run: |
161+ pnpm openclaw qa suite \
162+ --provider-mode mock-openai \
163+ --parity-pack agentic \
164+ --concurrency "${QA_PARITY_CONCURRENCY}" \
165+ --model anthropic/claude-opus-4-6 \
166+ --alt-model anthropic/claude-sonnet-4-6 \
167+ --output-dir .artifacts/qa-e2e/opus46
168+169+ - name: Generate parity report
170+run: |
171+ pnpm openclaw qa parity-report \
172+ --repo-root . \
173+ --candidate-summary .artifacts/qa-e2e/gpt54/qa-suite-summary.json \
174+ --baseline-summary .artifacts/qa-e2e/opus46/qa-suite-summary.json \
175+ --candidate-label openai/gpt-5.4 \
176+ --baseline-label anthropic/claude-opus-4-6 \
177+ --output-dir .artifacts/qa-e2e/parity
178+179+ - name: Upload parity artifacts
180+if: always()
181+uses: actions/upload-artifact@v4
182+with:
183+name: qa-parity-${{ github.run_id }}-${{ github.run_attempt }}
184+path: .artifacts/qa-e2e/
185+retention-days: 14
186+if-no-files-found: warn
187+188+run_live_matrix:
189+name: Run Matrix live QA lane
190+needs: [authorize_actor, validate_selected_ref]
191+runs-on: blacksmith-32vcpu-ubuntu-2404
192+timeout-minutes: 60
193+environment: qa-live-shared
194+steps:
195+ - name: Checkout selected ref
196+uses: actions/checkout@v6
197+with:
198+ref: ${{ needs.validate_selected_ref.outputs.selected_sha }}
199+fetch-depth: 1
200+201+ - name: Setup Node environment
202+uses: ./.github/actions/setup-node-env
203+with:
204+node-version: ${{ env.NODE_VERSION }}
205+pnpm-version: ${{ env.PNPM_VERSION }}
206+install-bun: "true"
207+208+ - name: Validate required QA credential env
209+env:
210+OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
211+shell: bash
212+run: |
213+ set -euo pipefail
214+215+ if [[ -z "${OPENAI_API_KEY:-}" ]]; then
216+ echo "Missing required OPENAI_API_KEY." >&2
217+ exit 1
218+ fi
219+220+ - name: Build private QA runtime
221+run: pnpm build
222+223+ - name: Run Matrix live lane
224+id: run_lane
225+shell: bash
226+env:
227+OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
228+OPENCLAW_QA_REDACT_PUBLIC_METADATA: "1"
229+run: |
230+ set -euo pipefail
231+232+ output_dir=".artifacts/qa-e2e/matrix-live-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}"
233+ echo "output_dir=${output_dir}" >> "$GITHUB_OUTPUT"
234+235+ pnpm openclaw qa matrix \
236+ --repo-root . \
237+ --output-dir "${output_dir}" \
238+ --provider-mode live-frontier \
239+ --model openai/gpt-5.4 \
240+ --alt-model openai/gpt-5.4 \
241+ --fast
242+243+ - name: Upload Matrix QA artifacts
244+if: always()
245+uses: actions/upload-artifact@v4
246+with:
247+name: qa-live-matrix-${{ github.run_id }}-${{ github.run_attempt }}
248+path: ${{ steps.run_lane.outputs.output_dir }}
249+retention-days: 14
250+if-no-files-found: warn
251+118252run_live_telegram:
119253name: Run Telegram live QA lane with Convex leases
120254needs: [authorize_actor, validate_selected_ref]
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。