Skip to content

feat(sync_repos): add sync-repos command to replace shell-based fdk_apps sync#305

Open
loispostula wants to merge 1 commit intomainfrom
lp/sync-script
Open

feat(sync_repos): add sync-repos command to replace shell-based fdk_apps sync#305
loispostula wants to merge 1 commit intomainfrom
lp/sync-script

Conversation

@loispostula
Copy link
Member

Replaces the brittle sync_to_repos.sh with a proper Rust implementation. Uses toml_edit for structured TOML transforms and tokio::process::Command for injection-safe shell operations.

  • Syncs app dirs, infra, and .cargo/config.toml via rsync
  • Transforms root Cargo.toml: version transplant, deps merge with workspace member path rewriting, patch section replacement
  • Strips path deps from app Cargo.tomls, rewrites inter-app paths
  • Adjusts include_bytes!/include_str! relative paths for apps/ nesting
  • Deletes stale Cargo.lock and regenerates via cargo generate-lockfile
  • Auto-discovers apps from source when --apps is omitted
  • Defaults branch name to chore/sync-fdk-apps-{version}
  • Supports --dry-run and --create-pr

…pps sync

Replaces the brittle sync_to_repos.sh with a proper Rust implementation.
Uses toml_edit for structured TOML transforms and tokio::process::Command
for injection-safe shell operations.

- Syncs app dirs, infra, and .cargo/config.toml via rsync
- Transforms root Cargo.toml: version transplant, deps merge with
  workspace member path rewriting, patch section replacement
- Strips path deps from app Cargo.tomls, rewrites inter-app paths
- Adjusts include_bytes!/include_str! relative paths for apps/ nesting
- Deletes stale Cargo.lock and regenerates via cargo generate-lockfile
- Auto-discovers apps from source when --apps is omitted
- Defaults branch name to chore/sync-fdk-apps-{version}
- Supports --dry-run and --create-pr

Signed-off-by: Lois Postula <lois.postula@fslabs.ca>
@fslabs-bot
Copy link

fslabs-bot bot commented Mar 6, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from loispostula. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@fslabs-bot fslabs-bot bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Mar 6, 2026
@fslabs-bot
Copy link

fslabs-bot bot commented Mar 6, 2026

@loispostula: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
cargo-tests 99766fd link true cargo-tests
Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant