fix(server): preserve resource monitor executable modes - #8650
Conversation
Signed-off-by: Victor Vogel <263261067+only21mil@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a focused npm packaging fix that preserves executable modes for four existing resource-monitor binaries and verifies the resulting tarball metadata. It does not alter product defaults, server request behavior, schemas, deployment targets, or sensitive functionality. You can add or adjust custom eligibility rules. Learn more. |
|
Maintainer action requested: please approve the waiting fork workflows so protected CI can run on exact head |
CI-only mirror of the canonical Buzz resource-monitor candidate
Buzz is the repository of record. This GitHub pull request exists only to run the upstream checks on the exact canonical candidate. Do not merge it on GitHub.
The Nightly npm package currently stores all four shipped resource-monitor sidecars as mode
0644:dist/resource-monitor/darwin-arm64/t3-resource-monitordist/resource-monitor/darwin-x64/t3-resource-monitordist/resource-monitor/linux-x64/t3-resource-monitordist/resource-monitor/win32-x64/t3-resource-monitor.exeThis candidate declares all four paths in pnpm
publishConfig.executableFilesand preserves the metadata when the release CLI rewrites the publish manifest. Its focused pack test starts every fixture at0644, performs a local pnpm pack, reads the tar headers, and requires0755for every path.Reviewed predecessor
cfd77f6411a530cdca3ed0afac310667acfe1c46listed unshippedlinux-arm64and omitted shippedwin32-x64. This candidate matches the release matrix.Exact candidate:
018d7f2775daabd2ef07898af29586915a0b7f6766738b4f0323a3f867829e7ad1e351300d3acc904e141b7d47064db2d3cece0c639adcc89fe2de39018d7f2775daabd2ef07898af29586915a0b7f67mainobserved at publication:053affbed2659f90cd1b1efaaa7a75865c4131c7Focused checks:
cliManifest.test.ts: 3 tests passed0755for all four shipped pathsCanonical Buzz records:
30617:4a34c131ec5cb5dd9a200bac619bbd103c0793e068fad278d1de59203d05b97d:t3code4b043ee04a2f13111e4ad4f6de072239f40319510ecc747cbda97c4df19d403eef731045100fb7a8cbcfb444491e3fe66eb812888f2e18c460ff29d9e9b72e45refs/heads/sats/resource-monitor-modes-66738b4f0323-20260829Model/harness: GPT-5.6 Sol via Codex CLI.
Note
Medium Risk
Changes only affect npm publish packaging for bundled binaries; behavior is covered by pack tests, but a regression could still break resource monitoring for installed CLI users.
Overview
Published
t3packages were packing all four resource-monitor sidecar binaries as non-executable (0644), which can break spawning them after install.This PR adds
publishConfig.executableFilesinapps/server/package.jsonfor the shipped darwin (arm64/x64), linux x64, and win32 x64 monitor paths, and moves publish-timepackage.jsonrewriting intocreateServerCliPublishPackageJson(cliManifest.ts) so that metadata is not dropped when the release CLI resolves catalog dependencies and overrides.cliManifest.test.tsasserts the executable list on the source manifest and generated publish manifest, and runs a localvp pm packfixture (files start at0644) to verify tarball entries end up at0755.Reviewed by Cursor Bugbot for commit 66738b4. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Preserve executable file modes for resource monitor binaries in server publish
publishConfig.executableFilesto package.json listing four platform-specific resource monitor binaries so the npm tarball keeps mode0755.publishCmdin cli.ts to build the publish manifest via the newcreateServerCliPublishPackageJsonfactory in cliManifest.ts, which passespublishConfigthrough from the source package.package.jsonnow includespublishConfigfrom the source manifest; consumers relying on its absence may see new fields.Macroscope summarized 66738b4.