diff --git a/.github/workflows/control-ui-locale-refresh.yml b/.github/workflows/control-ui-locale-refresh.yml index ba4a6e50940..99f22948959 100644 --- a/.github/workflows/control-ui-locale-refresh.yml +++ b/.github/workflows/control-ui-locale-refresh.yml @@ -137,7 +137,7 @@ jobs: env: OPENAI_API_KEY: ${{ secrets.OPENCLAW_DOCS_I18N_OPENAI_API_KEY || secrets.OPENAI_API_KEY }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} - OPENCLAW_CONTROL_UI_I18N_MODEL: gpt-5.4 + OPENCLAW_CONTROL_UI_I18N_MODEL: ${{ vars.OPENCLAW_CI_OPENAI_MODEL_BARE }} OPENCLAW_CONTROL_UI_I18N_THINKING: low LOCALE: ${{ matrix.locale }} run: node --import tsx scripts/control-ui-i18n.ts sync --locale "${LOCALE}" --write diff --git a/.github/workflows/docs-agent.yml b/.github/workflows/docs-agent.yml index f9762b1059c..59fa900de87 100644 --- a/.github/workflows/docs-agent.yml +++ b/.github/workflows/docs-agent.yml @@ -156,7 +156,7 @@ jobs: with: openai-api-key: ${{ secrets.OPENCLAW_DOCS_AGENT_OPENAI_API_KEY || secrets.OPENAI_API_KEY }} prompt-file: .github/codex/prompts/docs-agent.md - model: gpt-5.4 + model: ${{ vars.OPENCLAW_CI_OPENAI_MODEL_BARE }} effort: medium sandbox: workspace-write safety-strategy: drop-sudo diff --git a/.github/workflows/openclaw-release-checks.yml b/.github/workflows/openclaw-release-checks.yml index 9c452a4b048..1a2509582fc 100644 --- a/.github/workflows/openclaw-release-checks.yml +++ b/.github/workflows/openclaw-release-checks.yml @@ -34,6 +34,7 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" NODE_VERSION: "24.x" PNPM_VERSION: "10.33.0" + OPENCLAW_CI_OPENAI_MODEL: ${{ vars.OPENCLAW_CI_OPENAI_MODEL }} jobs: resolve_target: @@ -245,13 +246,13 @@ jobs: - name: Build private QA runtime run: pnpm build - - name: Run GPT-5.4 lane + - name: Run OpenAI candidate lane run: | pnpm openclaw qa suite \ --provider-mode mock-openai \ --parity-pack agentic \ --concurrency "${QA_PARITY_CONCURRENCY}" \ - --model openai/gpt-5.4 \ + --model "${OPENCLAW_CI_OPENAI_MODEL}" \ --alt-model openai/gpt-5.4-alt \ --output-dir .artifacts/qa-e2e/gpt54 @@ -271,7 +272,7 @@ jobs: --repo-root . \ --candidate-summary .artifacts/qa-e2e/gpt54/qa-suite-summary.json \ --baseline-summary .artifacts/qa-e2e/opus46/qa-suite-summary.json \ - --candidate-label openai/gpt-5.4 \ + --candidate-label "${OPENCLAW_CI_OPENAI_MODEL}" \ --baseline-label anthropic/claude-opus-4-6 \ --output-dir .artifacts/qa-e2e/parity @@ -341,8 +342,8 @@ jobs: --repo-root . \ --output-dir "${output_dir}" \ --provider-mode live-frontier \ - --model openai/gpt-5.4 \ - --alt-model openai/gpt-5.4 \ + --model "${OPENCLAW_CI_OPENAI_MODEL}" \ + --alt-model "${OPENCLAW_CI_OPENAI_MODEL}" \ --fast - name: Upload Matrix QA artifacts @@ -423,8 +424,8 @@ jobs: --repo-root . \ --output-dir "${output_dir}" \ --provider-mode live-frontier \ - --model openai/gpt-5.4 \ - --alt-model openai/gpt-5.4 \ + --model "${OPENCLAW_CI_OPENAI_MODEL}" \ + --alt-model "${OPENCLAW_CI_OPENAI_MODEL}" \ --fast \ --credential-source convex \ --credential-role ci diff --git a/.github/workflows/parity-gate.yml b/.github/workflows/parity-gate.yml index f7df85a8dc4..c88ef4f9c8a 100644 --- a/.github/workflows/parity-gate.yml +++ b/.github/workflows/parity-gate.yml @@ -24,7 +24,7 @@ concurrency: jobs: parity-gate: - name: Run the GPT-5.4 / Opus 4.6 parity gate against the qa-lab mock + name: Run the OpenAI / Opus 4.6 parity gate against the qa-lab mock if: ${{ github.event.pull_request.draft != true }} runs-on: blacksmith-32vcpu-ubuntu-2404 timeout-minutes: 30 @@ -42,6 +42,7 @@ jobs: # followthrough gate that expects a fast post-approval read within a 30s # agent.wait timeout. QA_PARITY_CONCURRENCY: "1" + OPENCLAW_CI_OPENAI_MODEL: ${{ vars.OPENCLAW_CI_OPENAI_MODEL }} OPENCLAW_QA_TRANSPORT_READY_TIMEOUT_MS: "180000" OPENAI_API_KEY: "" ANTHROPIC_API_KEY: "" @@ -75,13 +76,13 @@ jobs: # The approval-turn sentinel still runs inside the full parity pack below. # Keep the exact mock read-plan contract in deterministic unit tests instead # of paying for a separate full-runtime preflight that has been flaky in CI. - - name: Run GPT-5.4 lane + - name: Run OpenAI candidate lane run: | pnpm openclaw qa suite \ --provider-mode mock-openai \ --parity-pack agentic \ --concurrency "${QA_PARITY_CONCURRENCY}" \ - --model openai/gpt-5.4 \ + --model "${OPENCLAW_CI_OPENAI_MODEL}" \ --alt-model openai/gpt-5.4-alt \ --output-dir .artifacts/qa-e2e/gpt54 @@ -101,7 +102,7 @@ jobs: --repo-root . \ --candidate-summary .artifacts/qa-e2e/gpt54/qa-suite-summary.json \ --baseline-summary .artifacts/qa-e2e/opus46/qa-suite-summary.json \ - --candidate-label openai/gpt-5.4 \ + --candidate-label "${OPENCLAW_CI_OPENAI_MODEL}" \ --baseline-label anthropic/claude-opus-4-6 \ --output-dir .artifacts/qa-e2e/parity diff --git a/.github/workflows/qa-live-transports-convex.yml b/.github/workflows/qa-live-transports-convex.yml index 762f00d75f9..f60032ae0e9 100644 --- a/.github/workflows/qa-live-transports-convex.yml +++ b/.github/workflows/qa-live-transports-convex.yml @@ -31,6 +31,7 @@ env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" NODE_VERSION: "24.x" PNPM_VERSION: "10.33.0" + OPENCLAW_CI_OPENAI_MODEL: ${{ vars.OPENCLAW_CI_OPENAI_MODEL }} OPENCLAW_BUILD_PRIVATE_QA: "1" OPENCLAW_ENABLE_PRIVATE_QA_CLI: "1" @@ -156,13 +157,13 @@ jobs: - name: Build private QA runtime run: pnpm build - - name: Run GPT-5.4 lane + - name: Run OpenAI candidate lane run: | pnpm openclaw qa suite \ --provider-mode mock-openai \ --parity-pack agentic \ --concurrency "${QA_PARITY_CONCURRENCY}" \ - --model openai/gpt-5.4 \ + --model "${OPENCLAW_CI_OPENAI_MODEL}" \ --alt-model openai/gpt-5.4-alt \ --output-dir .artifacts/qa-e2e/gpt54 @@ -182,7 +183,7 @@ jobs: --repo-root . \ --candidate-summary .artifacts/qa-e2e/gpt54/qa-suite-summary.json \ --baseline-summary .artifacts/qa-e2e/opus46/qa-suite-summary.json \ - --candidate-label openai/gpt-5.4 \ + --candidate-label "${OPENCLAW_CI_OPENAI_MODEL}" \ --baseline-label anthropic/claude-opus-4-6 \ --output-dir .artifacts/qa-e2e/parity @@ -246,8 +247,8 @@ jobs: --repo-root . \ --output-dir "${output_dir}" \ --provider-mode live-frontier \ - --model openai/gpt-5.4 \ - --alt-model openai/gpt-5.4 \ + --model "${OPENCLAW_CI_OPENAI_MODEL}" \ + --alt-model "${OPENCLAW_CI_OPENAI_MODEL}" \ --fast - name: Upload Matrix QA artifacts @@ -335,8 +336,8 @@ jobs: --repo-root . \ --output-dir "${output_dir}" \ --provider-mode live-frontier \ - --model openai/gpt-5.4 \ - --alt-model openai/gpt-5.4 \ + --model "${OPENCLAW_CI_OPENAI_MODEL}" \ + --alt-model "${OPENCLAW_CI_OPENAI_MODEL}" \ --fast \ --credential-source convex \ --credential-role ci \ diff --git a/.github/workflows/test-performance-agent.yml b/.github/workflows/test-performance-agent.yml index 41e3f21e2d2..31d22ff0935 100644 --- a/.github/workflows/test-performance-agent.yml +++ b/.github/workflows/test-performance-agent.yml @@ -133,7 +133,7 @@ jobs: with: openai-api-key: ${{ secrets.OPENCLAW_TEST_PERF_AGENT_OPENAI_API_KEY || secrets.OPENAI_API_KEY }} prompt-file: .github/codex/prompts/test-performance-agent.md - model: gpt-5.4 + model: ${{ vars.OPENCLAW_CI_OPENAI_MODEL_BARE }} effort: high sandbox: workspace-write safety-strategy: drop-sudo