Skip to content

chore: stop building packages during install - #236

Open
lilienblum wants to merge 6 commits into
mainfrom
lilienblum/alien-374-stop-building-packages-during-install
Open

chore: stop building packages during install#236
lilienblum wants to merge 6 commits into
mainfrom
lilienblum/alien-374-stop-building-packages-during-install

Conversation

@lilienblum

Copy link
Copy Markdown
Contributor

Summary

  • remove the prepare build hook from the core, commands, bindings, and SDK packages
  • keep package compilation behind the existing explicit build commands

Why

A workspace pnpm install currently compiles all four packages as a lifecycle side effect. Bootstrap only needs dependencies installed, so that work is unnecessary and makes setup appear stuck.

The stable and dev npm release workflows already run pnpm build before publishing or packing. A prepack replacement would keep compilation implicit and duplicate those release build steps.

Validation

  • fresh and repeated pnpm install --frozen-lockfile complete without invoking the package builds
  • explicit builds succeed for core, commands, bindings, and SDK
  • package-layout fixture passes all 28 packed-artifact and consumer checks
  • Biome passes for the changed manifests

Linear: ALIEN-374

@lilienblum lilienblum added the refactor Behavior-preserving code reorganization label Jul 27, 2026
@lilienblum
lilienblum requested a review from alongubkin July 27, 2026 14:48
@greptile-apps

greptile-apps Bot commented Jul 27, 2026

Copy link
Copy Markdown

Greptile Summary

Removes install-time TypeScript compilation and makes required builds explicit.

  • Removes prepare build hooks from the core, commands, bindings, and SDK packages.
  • Builds TypeScript dependencies explicitly before Rust CI tests and addon release smoke tests.
  • Makes Turbo test tasks depend on package and dependency builds.
  • Adds a bindings-specific Turbo task dependency so tests build the native addon.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
turbo.json Makes tests explicitly build their package and upstream workspace dependencies.
packages/bindings/turbo.json Ensures bindings tests explicitly build the native addon while leaving addon builds uncached.
.github/workflows/ci-fast.yml Replaces the removed install lifecycle side effect with explicit dependency builds before Rust tests.
.github/workflows/release.yml Explicitly builds core and bindings before the staged-addon smoke test.
packages/core/package.json Removes automatic compilation during dependency installation while preserving the explicit build command.
packages/commands/package.json Removes automatic compilation during dependency installation while preserving the explicit build command.
packages/bindings/package.json Removes automatic compilation during dependency installation while preserving explicit TypeScript and addon builds.
packages/sdk/package.json Removes automatic compilation during dependency installation while preserving the explicit build command.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Install["pnpm install"] --> Dependencies["Install dependencies only"]
  Build["Explicit pnpm/turbo build"] --> Packages["Compile TypeScript packages"]
  Test["turbo test"] --> Build
  BindingsTest["bindings test"] --> Addon["build:addon"]
  RustCI["Rust fast tests"] --> SelectedBuild["Build SDK and commands dependencies"]
  ReleaseSmoke["Addon smoke test"] --> CoreBindings["Build core and bindings"]
Loading

Reviews (4): Last reviewed commit: "ci: build SDK dependencies before Rust t..." | Re-trigger Greptile

@lilienblum
lilienblum force-pushed the lilienblum/alien-374-stop-building-packages-during-install branch from 5495379 to 2bbde8e Compare July 27, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor Behavior-preserving code reorganization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant