Files
openclaw/scripts/plugin-prerelease-liveish-matrix.mjs
Vincent Koc e7947948b6 test(ci): add plugin prerelease suite to CI (#73741)
* test(ci): route plugin prerelease coverage to plugin shard

* test(ci): add plugin prerelease suite to CI

* fix(ci): preserve pnpm path in plugin prerelease shard

* fix(ci): avoid inheriting secrets for plugin prerelease suite
2026-04-28 14:52:03 -07:00

55 lines
1.3 KiB
JavaScript

const LIVEISH_INPUTS = Object.freeze([
{
probe: "provider-openai",
env: ["OPENAI_API_KEY", "OPENAI_BASE_URL"],
},
{
probe: "provider-anthropic",
env: ["ANTHROPIC_API_KEY", "ANTHROPIC_API_TOKEN"],
},
{
probe: "provider-mistral",
env: ["MISTRAL_API_KEY"],
},
{
probe: "provider-openrouter",
env: ["OPENROUTER_API_KEY"],
},
{
probe: "channel-telegram",
env: ["TELEGRAM_BOT_TOKEN", "OPENCLAW_TELEGRAM_BOT_TOKEN"],
},
{
probe: "channel-discord",
env: ["DISCORD_TOKEN", "OPENCLAW_DISCORD_TOKEN"],
},
{
probe: "channel-slack",
env: ["SLACK_BOT_TOKEN", "OPENCLAW_SLACK_BOT_TOKEN"],
},
{
probe: "channel-whatsapp",
env: ["WHATSAPP_ACCESS_TOKEN", "OPENCLAW_WHATSAPP_ACCESS_TOKEN"],
},
]);
function hasValue(name) {
return typeof process.env[name] === "string" && process.env[name].trim().length > 0;
}
const rows = LIVEISH_INPUTS.map((entry) => ({
available: entry.env.some(hasValue),
env: entry.env,
probe: entry.probe,
}));
console.log("Plugin prerelease live-ish availability matrix:");
for (const row of rows) {
const status = row.available ? "present" : "missing";
console.log(`- ${row.probe}: ${status} (${row.env.join(", ")})`);
}
if (!rows.some((row) => row.available)) {
console.log("No live-ish credentials present; skipping external probes by design.");
}