mirror of
https://github.com/warpdotdev/warp.git
synced 2026-05-06 23:32:51 +08:00
## Description **Assumptions** - The setting schema does not vary between linux builds. - The separate builds share the same filesystem. Cache the generated settings schema between Linux builds to avoid redundant compilations. During Linux release builds, `prepare_bundled_resources` is invoked multiple times (once per package format: `.deb`, `.rpm`, AppImage, Arch, etc.) within the same CI job. Each invocation currently runs `cargo run --bin generate_settings_schema`, which triggers a full compilation and execution of the generator binary — even though the output is identical across formats for the same channel. This PR adds a `SETTINGS_SCHEMA_CACHE` environment variable to `prepare_bundled_resources`. When set: - The **first** invocation generates the schema normally and saves a copy to the cache path. - **Subsequent** invocations copy from the cache instead of regenerating. The CI workflows (`create_release.yml`) and the Arch Docker action are updated to set this variable in all Linux packaging jobs. ## Linked Issue - [ ] The linked issue is labeled `ready-to-spec` or `ready-to-implement`. - [ ] Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes). ## Testing - Verified the script logic handles all edge cases: cache not set (no-op), cache set but file doesn't exist yet (generate + save), cache set and file exists (copy). - No user-visible changes; this is a CI-only optimization. ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode Co-Authored-By: Oz <oz-agent@warp.dev>