Skip to content

Promotion: develop → main (pinned 6c763085 — build the workspace before type-checking the CLI) - #605

Merged
beyondnetPeru merged 1 commit into
mainfrom
release/promote-6c763085
Aug 17, 2026
Merged

Promotion: develop → main (pinned 6c763085 — build the workspace before type-checking the CLI)#605
beyondnetPeru merged 1 commit into
mainfrom
release/promote-6c763085

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Pinned to 6c763085.

Third and, on the evidence, last cause of build-and-test failing on a tag:

tag died at fixed by
v1 / v1.3.0 Generate SBOM (CycloneDX) #568
v1.3.3 Architecture Boundary Lint #600
v1.3.4 Type Check and Build this

Type Check and Build compiles only the CLI. @beyondnet/* resolve by workspace symlink, but a subpath import needs the sibling's dist/, which does not exist after a bare npm ci — 100+ TS2307. npm-release.yml has always had a "Build every workspace" step; this workflow never did.

Measured rather than assumed: the root build exits 2 locally on @nestjs/cache-manager, but that package is declared, is in the lockfile (@3.1.3, nested under mcp-server and core-api), and the identical step ran on main tonight with success and 0 TS2307 (run 31991739387). The local failure is a symlinked node_modules without the nested installs.

After this: v1.3.5

Tag runs are pinned to their commit, so v1.3.4 cannot be re-run against this fix.

Nothing new publishes — every package is level with the registry (cli 1.3.1, mcp 1.3.3, core-domain 1.3.1, infra-providers 1.2.1, contracts 1.2.0). The tag exists to produce the GitHub Release that four tags have now failed to produce.

The defect underneath, still open

build-and-test is gated on release_created, so it never runs on a pull request — only on a tag. That is why three unrelated defects each survived until the moment they did damage, and why five green main runs tonight said nothing about it. Not addressed here.

🤖 Generated with Claude Code

…604)

fix(ci): the CLI release type-checks against siblings it never built

THIRD FAILURE ON THE SAME JOB, THIRD DIFFERENT CAUSE.

`build-and-test` in sdk-cli-release has now failed on every tag it ever ran on:

    v1 / v1.3.0   Generate SBOM (CycloneDX)          — npm ls exit code       (fixed, #568)
    v1.3.3        Architecture Boundary Lint          — pre-existing debt      (fixed, #600)
    v1.3.4        Type Check and Build                — this

Each fix uncovered the next, because the job only ever executes on a tag: it is gated on
`release_created`, which `release-gate` sets only for `refs/tags/v*`. On every branch push it
is SKIPPED and the workflow reports success. Five green runs on `main` tonight told us nothing
about it.

WHAT FAILED

`Type Check and Build` runs `npm run build` inside `src/sdk/cli`, which compiles the CLI and
nothing else. In a workspace, `@beyondnet/*` resolve to the local packages by symlink, but a
SUBPATH import needs that package's `dist/` to exist, and it does not after a bare `npm ci`.
100+ errors, all the same shape:

    src/app.module.ts(12,29): error TS2307: Cannot find module
      '@beyondnet/evolith-core-domain/application/sync/sync.service'
    src/commands/agents/agents.command.ts(5,40): error TS2307: Cannot find module
      '@beyondnet/evolith-infra-providers'

THE FIX ALREADY EXISTS, ONE WORKFLOW OVER

`npm-release.yml` has a step called "Build every workspace" that runs the root `npm run build`
(`tsc -b tsconfig.json` over all projects). sdk-cli-release never had it. Added, immediately
after `npm ci` and before the lint and type-check that depend on it.

VERIFIED, INCLUDING THE PART THAT LOOKED LIKE A PROBLEM

Locally, the root build exits 2 — but for a reason that does not exist on the runner, and the
distinction was measured rather than assumed:

    root `npm run build` here      -> exit 2, 4 × TS2307, all '@nestjs/cache-manager'
    is it declared?                -> yes, in src/packages/mcp-server/package.json
    is it in the lockfile?         -> yes, @3.1.3 under src/packages/mcp-server/node_modules
                                       and src/apps/core-api/node_modules
    so `npm ci` installs it        -> and the SAME step in npm-release.yml ran tonight on main
                                       with conclusion=success and 0 TS2307 errors (run 31991739387)

My local tree has a symlinked node_modules without those nested installs. On the runner the
root build passes, which is the only place this step will run.

And after a root build, the CLI's own type-check is clean:

    cli `npm run build` -> exit 0, TS2307 errors: 0

NOT FIXED

The reason all three of these survived: `build-and-test` never runs on a pull request. Fixing
that is a larger change than a release-night fix and is not attempted here — but it is the
actual defect, and each of these three is a symptom of it.

CI: 30 SUCCESS, 2 SKIPPED, 0 failing.
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner August 17, 2026 03:50
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

Copy link
Copy Markdown

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 0
  • New EN files needing ES translation: 0

Repository Coverage

Metric Value
Total EN files 532
Total ES files 502
Paired files 0
Coverage 0%

Good: All EN changes have ES counterparts.


Generated by GitHub Actions

@beyondnetPeru
beyondnetPeru merged commit 96543be into main Aug 17, 2026
51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant