fix(codex): bootstrap plugin deps before compatibility build
This commit is contained in:
@@ -548,6 +548,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
VERSION: ${{ needs.release-metadata.outputs.version }}
|
VERSION: ${{ needs.release-metadata.outputs.version }}
|
||||||
run: |
|
run: |
|
||||||
|
npm --prefix packages/omo-codex/plugin ci
|
||||||
bun run --cwd packages/omo-codex/plugin build
|
bun run --cwd packages/omo-codex/plugin build
|
||||||
bun run build:ast-grep-mcp
|
bun run build:ast-grep-mcp
|
||||||
bun run build:lsp-tools-mcp
|
bun run build:lsp-tools-mcp
|
||||||
|
|||||||
+1
-1
@@ -68,7 +68,7 @@
|
|||||||
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/ast-grep-core/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json",
|
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/ast-grep-core/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json",
|
||||||
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
||||||
"test": "bun test",
|
"test": "bun test",
|
||||||
"test:codex": "bun run build:ast-grep-mcp && bun run build:lsp-tools-mcp && bun run --cwd packages/omo-codex/plugin build && bun test src/cli/cli-installer.platform.test.ts src/cli/install-codex/codex-cache.test.ts src/cli/install-codex/codex-config-agent-cleanup.test.ts src/cli/install-codex/codex-config-toml.test.ts src/cli/install-codex/install-codex.test.ts src/cli/install-codex/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs packages/omo-codex/scripts/sync-telemetry-component.test.mjs",
|
"test:codex": "bun run build:ast-grep-mcp && bun run build:lsp-tools-mcp && npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build && bun test src/cli/cli-installer.platform.test.ts src/cli/install-codex/codex-cache.test.ts src/cli/install-codex/codex-config-agent-cleanup.test.ts src/cli/install-codex/codex-config-toml.test.ts src/cli/install-codex/install-codex.test.ts src/cli/install-codex/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs packages/omo-codex/scripts/sync-telemetry-component.test.mjs",
|
||||||
"test:windows-codex": "bun run test:codex",
|
"test:windows-codex": "bun run test:codex",
|
||||||
"build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build"
|
"build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -82,11 +82,11 @@ describe("test workflows", () => {
|
|||||||
// #when
|
// #when
|
||||||
const codexTestScriptBuildsMcpRuntimes =
|
const codexTestScriptBuildsMcpRuntimes =
|
||||||
packageManifest.includes(
|
packageManifest.includes(
|
||||||
'"test:codex": "bun run build:ast-grep-mcp && bun run build:lsp-tools-mcp && bun run --cwd packages/omo-codex/plugin build && bun test',
|
'"test:codex": "bun run build:ast-grep-mcp && bun run build:lsp-tools-mcp && npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build && bun test',
|
||||||
)
|
)
|
||||||
|
|
||||||
// #then
|
// #then
|
||||||
expect(codexTestScriptBuildsMcpRuntimes, "test:codex must build bundled MCP dists before installer tests copy them").toBe(true)
|
expect(codexTestScriptBuildsMcpRuntimes, "test:codex must install nested Codex plugin deps and build bundled runtimes before installer tests copy them").toBe(true)
|
||||||
})
|
})
|
||||||
|
|
||||||
test("pins every workflow Bun setup to the tested runtime", () => {
|
test("pins every workflow Bun setup to the tested runtime", () => {
|
||||||
@@ -222,6 +222,9 @@ describe("test workflows", () => {
|
|||||||
const syncBuildsCodexPlugin =
|
const syncBuildsCodexPlugin =
|
||||||
workflow.includes("bun run --cwd packages/omo-codex/plugin build") &&
|
workflow.includes("bun run --cwd packages/omo-codex/plugin build") &&
|
||||||
workflow.indexOf("bun run --cwd packages/omo-codex/plugin build") < workflow.indexOf("bun run script/sync-lazycodex-marketplace.ts")
|
workflow.indexOf("bun run --cwd packages/omo-codex/plugin build") < workflow.indexOf("bun run script/sync-lazycodex-marketplace.ts")
|
||||||
|
const syncInstallsCodexPluginDeps =
|
||||||
|
workflow.includes("npm --prefix packages/omo-codex/plugin ci") &&
|
||||||
|
workflow.indexOf("npm --prefix packages/omo-codex/plugin ci") < workflow.indexOf("bun run --cwd packages/omo-codex/plugin build")
|
||||||
const pushesLazycodexMarketplace = workflow.includes("code-yeongyu/lazycodex")
|
const pushesLazycodexMarketplace = workflow.includes("code-yeongyu/lazycodex")
|
||||||
const publishLazycodexStep = workflow.slice(
|
const publishLazycodexStep = workflow.slice(
|
||||||
workflow.indexOf("name: Publish lazycodex"),
|
workflow.indexOf("name: Publish lazycodex"),
|
||||||
@@ -246,6 +249,7 @@ describe("test workflows", () => {
|
|||||||
expect(flagDefaultsOff, "LazyCodex marketplace sync must default to disabled").toBe(true)
|
expect(flagDefaultsOff, "LazyCodex marketplace sync must default to disabled").toBe(true)
|
||||||
expect(syncsLazycodexMarketplace, "release must sync the LazyCodex marketplace bundle").toBe(true)
|
expect(syncsLazycodexMarketplace, "release must sync the LazyCodex marketplace bundle").toBe(true)
|
||||||
expect(syncBuildsMcpDists, "release must build bundled MCP dists before LazyCodex marketplace sync").toBe(true)
|
expect(syncBuildsMcpDists, "release must build bundled MCP dists before LazyCodex marketplace sync").toBe(true)
|
||||||
|
expect(syncInstallsCodexPluginDeps, "release must install nested Codex plugin deps before building the aggregate plugin").toBe(true)
|
||||||
expect(syncBuildsCodexPlugin, "release must build the aggregate Codex plugin before LazyCodex marketplace sync").toBe(true)
|
expect(syncBuildsCodexPlugin, "release must build the aggregate Codex plugin before LazyCodex marketplace sync").toBe(true)
|
||||||
expect(pushesLazycodexMarketplace, "release must target the LazyCodex repository").toBe(true)
|
expect(pushesLazycodexMarketplace, "release must target the LazyCodex repository").toBe(true)
|
||||||
expect(alwaysChecksLazycodexNpm, "release must always check lazycodex using the release version").toBe(true)
|
expect(alwaysChecksLazycodexNpm, "release must always check lazycodex using the release version").toBe(true)
|
||||||
|
|||||||
Reference in New Issue
Block a user