Skip to content

Commit 6b85db5

Browse files
committed
no-mistakes(document): replace dangling build-notes pointers, correct engine download sizes
1 parent 1a6be12 commit 6b85db5

5 files changed

Lines changed: 18 additions & 16 deletions

File tree

jetbrains/src/main/kotlin/ai/codegraph/jetbrains/indexing/IndexingStartupActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class IndexingStartupActivity : ProjectActivity {
3838

3939
val resolved = CodeGraphServerResolver.resolve(project.basePath, settings.serverPath)
4040
if (resolved == null) {
41-
// Offered rather than done automatically: this is a ~30 MB download
41+
// Offered rather than done automatically: this is a ~120 MB download
4242
// of a native binary that will run with the user's permissions, and
4343
// starting that unasked on project open is not a decision the
4444
// plugin should make for them.

jetbrains/src/main/kotlin/ai/codegraph/jetbrains/server/EngineDownloader.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import java.util.Locale
1919
*
2020
* The plugin does not bundle engines: the JetBrains Marketplace serves one
2121
* artifact to every platform, so bundling every published engine would mean a
22-
* download several times the size of the one a given user can run. The
23-
* alternative for users without Node is worse - install a 498 MB npm package
24-
* for one binary - so the engine is fetched directly from the release that
25-
* `scripts/publish-release-assets.sh` produces.
22+
* download several times the size of the one a given user can run. Sending
23+
* users to the npm package instead is not an answer either: it needs Node, and
24+
* it fetches the same engine from the same release. So the engine is fetched
25+
* directly from the release that `scripts/publish-release-assets.sh` produces.
2626
*
2727
* Downloads are verified against the checksum published beside each asset. An
2828
* engine is a native binary that runs with the user's permissions; TLS says

scripts/publish-release-assets.sh

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@
55
# Publish the per-platform engine binaries as GitHub release assets.
66
#
77
# No channel bundles engines any more. Shipping all four platform binaries meant
8-
# a 118 MB VSIX and a 498 MB npm package for the ~30 MB a given user can
8+
# a 118 MB VSIX and a 498 MB npm package for the one binary a given user can
99
# actually run, and the JetBrains Marketplace cannot ship per-platform artifacts
1010
# at all. The binaries are published here once, and each client fetches only
1111
# what it needs - which makes this release the single source of engines, so a
1212
# missing or mistagged one leaves every channel with no engine at all.
1313
#
1414
# This does not build anything. It uploads what ./scripts/package-*.sh already
15-
# expect to find in vscode/bin/, so it slots in after the existing
16-
# cross-platform build (see cross-platform-builds.md). The one exception is
17-
# linux-arm64, which has no build host of its own: ./scripts/build-linux-arm64.sh
18-
# builds it in a container and stages and stamps it into vscode/bin/ itself.
15+
# expect to find in vscode/bin/, so it slots in after the existing cross-platform
16+
# build. Each platform is built natively on its own host; those hosts are
17+
# internal machines, so they are recorded in the maintainer's private build notes
18+
# rather than here. The one exception is linux-arm64, which has no build host of
19+
# its own: ./scripts/build-linux-arm64.sh builds it in a container and stages and
20+
# stamps it into vscode/bin/ itself.
1921
#
2022
# Usage:
2123
# ./scripts/publish-release-assets.sh # stage + verify only
@@ -196,8 +198,8 @@ ERROR: not every platform artifact is present in vscode/bin/.
196198
197199
A partial release is worse than none: a client that resolves its own platform
198200
and finds nothing has no way to tell "not built yet" from "never supported".
199-
Build the missing platforms first - see cross-platform-builds.md for the
200-
per-platform hosts - then re-run.
201+
Build the missing platforms first, each on its own build host - except
202+
linux-arm64, which ./scripts/build-linux-arm64.sh builds here - then re-run.
201203
EOF
202204
exit 1
203205
fi
@@ -254,8 +256,8 @@ if [ "$commit_mismatch" -ne 0 ]; then
254256
255257
Everything in one release has to come from one tree, or the tag names a build
256258
that never existed as a whole. Rebuild the assets that disagree from the commit
257-
being released - see cross-platform-builds.md for the per-platform hosts - and
258-
re-stamp them with ./scripts/stamp-binary.sh.
259+
being released, each on its own build host, and re-stamp them with
260+
./scripts/stamp-binary.sh.
259261
EOF
260262
} >&2
261263
exit 1

vscode/src/engineDownload.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export async function downloadEngine(
107107
* built against a newer engine keeps talking to the old one.
108108
*
109109
* Offered rather than done, for the same reason `downloadEngine` is: this is
110-
* ~30 MB of native binary that will run with the user's permissions. It is also
110+
* ~120 MB of native binary that will run with the user's permissions. It is also
111111
* deliberately not awaited by the caller - the engine on disk still works, so
112112
* blocking activation behind a transfer would cost every surface the extension
113113
* provides for an update that is not urgent.

vscode/src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
330330
//
331331
// Not awaited: the engine on disk still runs, and holding activation - and
332332
// with it the language client, the tree views and the lenses - behind a
333-
// 30 MB transfer on a slow network is a far worse trade than one release of
333+
// ~120 MB transfer on a slow network is a far worse trade than one release of
334334
// drift. The lifecycle callbacks read `client` lazily for the same reason:
335335
// by the time the user answers the prompt it has been created and started.
336336
if (serverInfo.path === managedEnginePath()) {

0 commit comments

Comments
 (0)