ci: keep release package metadata · openclaw/openclaw@b65946b
steipete
·
2026-05-02
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -303,7 +303,9 @@ jobs:
|
303 | 303 | uses: actions/upload-artifact@v7 |
304 | 304 | with: |
305 | 305 | name: release-package-under-test |
306 | | -path: .artifacts/docker-e2e-package/openclaw-current.tgz |
| 306 | +path: | |
| 307 | + .artifacts/docker-e2e-package/openclaw-current.tgz |
| 308 | + .artifacts/docker-e2e-package/package-candidate.json |
307 | 309 | retention-days: 14 |
308 | 310 | if-no-files-found: error |
309 | 311 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -163,6 +163,22 @@ describe("gateway codex harness live helpers", () => {
|
163 | 163 | expect(isExpectedCodexModelsCommandText(text)).toBe(true); |
164 | 164 | }); |
165 | 165 | |
| 166 | +it("accepts the singular Codex agent model list from the live harness", () => { |
| 167 | +const text = [ |
| 168 | +"Available Codex agent model:", |
| 169 | +"", |
| 170 | +"- `dev`: `openai/gpt-5.5`", |
| 171 | +"- Runtime: `codex`", |
| 172 | +"- Fallback: `none`", |
| 173 | +"- Configured override: `false`", |
| 174 | +].join("\n"); |
| 175 | + |
| 176 | +expect( |
| 177 | +EXPECTED_CODEX_MODELS_COMMAND_TEXT.some((expectedText) => text.includes(expectedText)), |
| 178 | +).toBe(true); |
| 179 | +expect(isExpectedCodexModelsCommandText(text)).toBe(true); |
| 180 | +}); |
| 181 | + |
166 | 182 | it("accepts sandbox namespace failures with current-session model fallback", () => { |
167 | 183 | const text = [ |
168 | 184 | "I can’t enumerate `/codex models` from this sandbox because the local `codex` CLI fails to start here with a user-namespace restriction (`bwrap: No permissions to create a new namespace`).", |
|
| Original file line number | Diff line number | Diff line change |
|---|
|
1 | 1 | export const EXPECTED_CODEX_MODELS_COMMAND_TEXT = [ |
2 | 2 | "Codex models:", |
3 | 3 | "Available Codex models", |
| 4 | +"Available Codex agent model", |
4 | 5 | "Available Codex agent models", |
5 | 6 | "Available models:", |
6 | 7 | "Available models, local cache:", |
@@ -194,6 +195,7 @@ export function isExpectedCodexModelsCommandText(text: string): boolean {
|
194 | 195 | const mentionsVisibleOptions = |
195 | 196 | normalized.includes("visible options in this session:") || |
196 | 197 | normalized.includes("visible options:") || |
| 198 | +normalized.includes("available codex agent model:") || |
197 | 199 | normalized.includes("available codex agent models:") || |
198 | 200 | normalized.includes("available model overrides listed in this session:") || |
199 | 201 | normalized.includes("available model overrides shown in this session:") || |
@@ -216,7 +218,8 @@ export function isExpectedCodexModelsCommandText(text: string): boolean {
|
216 | 218 | normalized.includes("available agent ids in this session:") && |
217 | 219 | (text.includes("`openai/") || text.includes("`codex/")); |
218 | 220 | const isCodexAgentModelSummary = |
219 | | -normalized.includes("available codex agent models:") && |
| 221 | +(normalized.includes("available codex agent model:") || |
| 222 | +normalized.includes("available codex agent models:")) && |
220 | 223 | (text.includes("`openai/") || text.includes("`codex/")); |
221 | 224 | const isAvailableHereModelSummary = |
222 | 225 | normalized.includes("available here:") && |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -458,6 +458,7 @@ describe("package artifact reuse", () => {
|
458 | 458 | expect(workflow).toContain("include_release_path_suites: true"); |
459 | 459 | expect(workflow).toContain("uses: ./.github/workflows/package-acceptance.yml"); |
460 | 460 | expect(workflow).toContain("source: artifact"); |
| 461 | +expect(workflow).toContain(".artifacts/docker-e2e-package/package-candidate.json"); |
461 | 462 | expect(workflow).toContain( |
462 | 463 | "artifact_name: ${{ needs.prepare_release_package.outputs.artifact_name }}", |
463 | 464 | ); |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。