Conversation
- Replace JSON config with YAML for better readability and standard format - Add serde_yaml to workspace dependencies - Update builder binary to only accept YAML files (no format conversion) - Change default config filename from builder.toml to builder.yaml - Update BuilderCmd::exec() and run() to write YAML instead of JSON - Fix build.rs cargo deadlock by removing nested cargo build - Generate stub assets.rs when builder binary doesn't exist yet - Fix clippy warnings (needless_borrows, len_zero) - Run cargo fmt for consistency Bug fixes: - Create parent directories when writing debug symbols (wasm) - Create parent directories when writing files (site_fs) - Fix manifest_path to point to Cargo.toml (swift_package) Breaking change: Configuration files must now be in YAML format. The builder binary now only accepts .yaml/.yml files. 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add rerun-if-changed directives for builder binaries - Simplify binary lookup logic (check debug first, then release) - Create stub assets when builder binary doesn't exist - Provide clear instructions: cargo build -p builder && cargo build - Avoid trying to build builder from build.rs (causes deadlocks) This allows clean builds to succeed, though users need to build the builder binary first, then rebuild examples to get real assets.
The multi-provider-examples crate has a build.rs that requires the builder binary to exist before it can build. This causes issues in CI and during clean builds when running tests. Changes: - Added `exclude = ["crates/examples"]` to workspace Cargo.toml - Modified CI workflow to build builder binary before running tests - Tests now pass with `cargo clean && cargo nextest run` The examples crate can still be built explicitly with `cargo build -p multi-provider-examples` after building the builder binary. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR migrates the builder tool from JSON to YAML configuration format for better readability and a more standard configuration file format.
Breaking Changes
.yaml/.ymlfiles, not JSONbuilder.tomltobuilder.yamlKey Changes
YAML Migration
serde_yamlto workspace dependenciesBuilderCmd::exec()andrun()methods to write YAML instead of JSONbuilder.tomltobuilder.yamlBuild System Fixes
crates/examples/build.rsby removing nestedcargo build -r -p buildercallassets.rswhen builder binary doesn't exist, allowing clean workspace buildscargo build --releaseCode Quality
needless_borrows_for_generic_args,len_zerocargo fmtfor consistencyBug Fixes
manifest_pathto point toCargo.tomlinstead of directory (swift_package)Test Plan
cargo clean && cargo buildcargo build --releasecargo nextest run-D warningsExample YAML Configuration
🤖 Generated with Claude Code