mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
ci(installer): add macOS install proof
This commit is contained in:
committed by
GitHub
parent
ccbf2dae17
commit
66a8ff178c
@@ -99,9 +99,22 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 24
|
||||
|
||||
- name: install.sh dry run
|
||||
run: bash scripts/install.sh --dry-run --no-onboard --no-prompt
|
||||
|
||||
- name: install.sh on macOS
|
||||
env:
|
||||
OPENCLAW_NO_ONBOARD: "1"
|
||||
OPENCLAW_NO_PROMPT: "1"
|
||||
run: |
|
||||
bash scripts/install.sh --no-onboard --no-prompt --version latest
|
||||
openclaw --version
|
||||
|
||||
windows-installer:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
|
||||
@@ -1762,6 +1762,7 @@ fix_npm_permissions() {
|
||||
npm config set prefix "$HOME/.npm-global"
|
||||
ui_warn "Avoid sudo npm i -g for future OpenClaw updates; use npm i -g openclaw@latest so npm keeps using this user prefix instead of a different global prefix."
|
||||
|
||||
# shellcheck disable=SC2016
|
||||
persist_shell_path_prepend "$HOME/.npm-global/bin" '$HOME/.npm-global/bin' || true
|
||||
|
||||
export PATH="$HOME/.npm-global/bin:$PATH"
|
||||
|
||||
@@ -473,7 +473,7 @@ describe("/model chat UX", () => {
|
||||
cfg: {
|
||||
...baseConfig(),
|
||||
plugins: { allow: ["workspace-model-list"] },
|
||||
} as OpenClawConfig,
|
||||
} as unknown as OpenClawConfig,
|
||||
});
|
||||
|
||||
expect(reply?.text).toContain("- anthropic");
|
||||
@@ -630,7 +630,7 @@ describe("/model chat UX", () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
} as OpenClawConfig,
|
||||
} as unknown as OpenClawConfig,
|
||||
allowedModelCatalog: [{ provider: "openai", id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
});
|
||||
|
||||
@@ -673,7 +673,7 @@ describe("/model chat UX", () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
} as OpenClawConfig,
|
||||
} as unknown as OpenClawConfig,
|
||||
allowedModelCatalog: [{ provider: "openai", id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
});
|
||||
|
||||
@@ -711,7 +711,7 @@ describe("/model chat UX", () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
} as OpenClawConfig,
|
||||
} as unknown as OpenClawConfig,
|
||||
allowedModelCatalog: [{ provider: "openai", id: "gpt-5.5", name: "GPT-5.5" }],
|
||||
});
|
||||
|
||||
@@ -779,7 +779,7 @@ describe("/model chat UX", () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
} as OpenClawConfig,
|
||||
} as unknown as OpenClawConfig,
|
||||
allowedModelCatalog: [
|
||||
{ provider: "anthropic", id: "claude-opus-4-6", name: "Claude Opus 4.6" },
|
||||
],
|
||||
@@ -1041,7 +1041,7 @@ describe("/model chat UX", () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
} as OpenClawConfig,
|
||||
} as unknown as OpenClawConfig,
|
||||
});
|
||||
|
||||
expect(persisted.provider).toBe("openai");
|
||||
|
||||
@@ -386,14 +386,14 @@ describe("createModelSelectionState catalog loading", () => {
|
||||
|
||||
describe("resolveContextTokens", () => {
|
||||
it("prefers provider-qualified cache keys over bare model ids", () => {
|
||||
MODEL_CONTEXT_TOKEN_CACHE.set("claude-opus-4-6", 200_000);
|
||||
MODEL_CONTEXT_TOKEN_CACHE.set("anthropic/claude-opus-4-6", 1_000_000);
|
||||
MODEL_CONTEXT_TOKEN_CACHE.set("gemini-3.1-pro-preview", 200_000);
|
||||
MODEL_CONTEXT_TOKEN_CACHE.set("google-gemini-cli/gemini-3.1-pro-preview", 1_000_000);
|
||||
|
||||
const result = resolveContextTokens({
|
||||
cfg: {} as OpenClawConfig,
|
||||
agentCfg: undefined,
|
||||
provider: "anthropic",
|
||||
model: "claude-opus-4-6",
|
||||
provider: "google-gemini-cli",
|
||||
model: "gemini-3.1-pro-preview",
|
||||
});
|
||||
|
||||
expect(result).toBe(1_000_000);
|
||||
|
||||
@@ -32,6 +32,11 @@ describe("website installer sync workflow", () => {
|
||||
expect(workflow).toContain("bash /tmp/install-cli.sh --prefix /tmp/openclaw");
|
||||
expect(workflow).toContain("macos-installer:");
|
||||
expect(workflow).toContain("runs-on: macos-latest");
|
||||
expect(workflow).toContain("node-version: 24");
|
||||
expect(workflow).toContain('OPENCLAW_NO_ONBOARD: "1"');
|
||||
expect(workflow).toContain('OPENCLAW_NO_PROMPT: "1"');
|
||||
expect(workflow).toContain("bash scripts/install.sh --no-onboard --no-prompt --version latest");
|
||||
expect(workflow).toContain("openclaw --version");
|
||||
expect(workflow).toContain("windows-installer:");
|
||||
expect(workflow).toContain("runs-on: windows-latest");
|
||||
expect(workflow).toContain(".\\scripts\\install.ps1 -DryRun");
|
||||
|
||||
Reference in New Issue
Block a user