Skip to content

feat: Allow specifying sync steps in conjunction with recipes - #731

Merged
raymondk merged 3 commits into
spofford/fetch-sectionfrom
spofford/multi-sync
Sep 7, 2026
Merged

feat: Allow specifying sync steps in conjunction with recipes#731
raymondk merged 3 commits into
spofford/fetch-sectionfrom
spofford/multi-sync

Conversation

@adamspofford-dfinity

@adamspofford-dfinity adamspofford-dfinity commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Currently you can either specify build: and sync: or a recipe. But while a build owns the WASM module end-to-end as part of a toolchain, syncing is part of the canister rather than the toolchain, so projects should be able to define sync steps without restructuring their configuration. This PR makes it so that you can add sync: even if you are already using a recipe.

Stack created with GitHub Stacks CLIGive Feedback 💬

Copilot AI balanced review requested due to automatic review settings August 26, 2026 17:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables canisters using recipes to append custom sync steps after recipe-provided steps.

Changes:

  • Extends recipe manifests and consolidation logic with optional sync steps.
  • Updates schemas and documentation.
  • Adds unit and CLI integration tests.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
CHANGELOG.md Records the feature.
crates/icp/src/manifest/canister.rs Parses recipe sync configuration.
crates/icp/src/project.rs Appends manifest sync steps after recipe steps.
crates/icp-cli/tests/recipe_tests.rs Tests effective sync ordering.
docs/schemas/icp-yaml-schema.json Updates project schema.
docs/schemas/canister-yaml-schema.json Updates canister schema.
docs/reference/configuration.md Documents configuration syntax.
docs/guides/using-recipes.md Adds usage guidance.
docs/concepts/recipes.md Clarifies recipe and sync semantics.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread crates/icp/src/manifest/canister.rs Outdated
Comment thread crates/icp/src/manifest/canister.rs Outdated
adamspofford-dfinity and others added 3 commits September 7, 2026 15:40
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@raymondk
raymondk force-pushed the spofford/multi-sync branch from 57436ca to 32c0904 Compare September 7, 2026 19:40
@raymondk
raymondk merged commit 6c157a6 into main Sep 7, 2026
198 of 206 checks passed
@raymondk
raymondk deleted the spofford/multi-sync branch September 7, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants