aboutsummaryrefslogtreecommitdiff
path: root/bundle
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-21 11:46:09 +0000
committer_ov4 <ov4@ov4.org>2026-10-21 11:46:09 +0000
commit8740502929449912a2f76f99aed33bd2ad54e064 (patch)
treeb7230a0af72db6a417ad86ecce590ad174495338 /bundle
parent9e869d4652937536695416cac3757e26598aac13 (diff)
ci(bundle): cache Rust dependencies on Windows and macOS
Cache compiled dependencies after toolchain selection and save them even when a later smoke check fails. Rebuild project crates for each checkout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'bundle')
-rw-r--r--bundle/AGENTS/DEVELOPMENT.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/bundle/AGENTS/DEVELOPMENT.md b/bundle/AGENTS/DEVELOPMENT.md
index e51fc1e..09fe2b3 100644
--- a/bundle/AGENTS/DEVELOPMENT.md
+++ b/bundle/AGENTS/DEVELOPMENT.md
@@ -22,6 +22,8 @@ Nightly extends the existing native compiler jobs: reuse each job's EMBEDDED com
The editor imports the plugin's grammar, language configuration and pure CommonJS modules directly. Vite's CommonJS adapter includes those sources. Do not duplicate their rules or add a second tokenizer. Dark+ and its parent theme are pinned under `vendor/vscode/`; retain upstream attribution.
+Windows and macOS nightly jobs cache Rust dependencies from `src-tauri/target` after selecting the Rust toolchain. The cache includes compiled dependencies and is saved even if a later check fails; project crates are rebuilt so the packaged compiler comes from the current checkout. Rust toolchain and Cargo configuration changes affect the cache key. Release optimization and archive compression settings are unchanged. Compare cold and warm CI runs to measure the benefit; a cache miss must still build normally.
+
The language editing core (grammar, configuration, indentation, lexical masking and bracket matching) is shared in full. Platform editor API adapters, file dialogs and process management are separate. Keep the plugin free of Bundle runtime dependencies.
The Rust runner launches the packaged compiler directly, using the source directory as cwd. On Windows its absolute path is captured after extracting into the startup working directory; elsewhere it is the sibling `cpsc` executable. Tokio concurrently writes prefilled stdin and drains both output pipes; stdin is dropped after writing. A watch signal kills and reaps the process on Stop or application exit. The output Channel sends raw byte chunks (one streaming TextDecoder per stream in the frontend), then a finished event after both pipes reach EOF. EMBEDDED execution disables the host CRT stdout buffer before JIT initialization; Windows JIT lookups prefer the same msvcrt runtime. Do not introduce a shell or pseudo-terminal.