Skip to content

chore(infra): bootstrap template sync-dirs + retarget to store5Migration - #2681

Merged
therajanmaurya merged 2 commits into
openMF:store5Migrationfrom
therajanmaurya:feat/store5-template-adoption-epic
May 21, 2026
Merged

chore(infra): bootstrap template sync-dirs + retarget to store5Migration#2681
therajanmaurya merged 2 commits into
openMF:store5Migrationfrom
therajanmaurya:feat/store5-template-adoption-epic

Conversation

@therajanmaurya

Copy link
Copy Markdown
Member

Summary

Bootstrap field-officer's infra-sync mechanism by adopting the latest kmp-project-template sync workflow (post openMF/kmp-project-template#158) and retargeting the consumer-side ref / PR base from devstore5Migration so the epic's integration branch is the merge target for every subsequent sync.

This is the prerequisite for triggering the first GitHub-Action sync run, which will open a separate PR titled "chore: Sync directories and files from upstream" against store5Migration with the actual infra payload — core-base/store, core-base/ui, build-logic/convention, cmp-android/src non-branded structure, cmp-ios/iosApp, fastlane-config, scripts, etc.

Changes

File Diff Purpose
.github/workflows/sync-dirs.yaml +93 / -45 Adopt template SOT (adds fastlane-config to DIRS, adds workflow self-overwrite guard exclusion, adds cmp-desktop/build.gradle.kts exclusion, adds build-logic/convention/src/main/kotlin/local flavor-extension exclusion, drops trailing whitespace). Three additional edits retarget ref: devref: store5Migration, git checkout devgit checkout store5Migration, base: devbase: store5Migration.
sync-dirs.sh +19 / -2 Mirror the workflow YAML changes in the local bash script with explicit :dir / :file type tags. (Note: local script's hardcoded BASE_BRANCH="dev" is a known mismatch with field-officer's development default; we use the workflow, not the local script, for syncs going forward.)
.gitignore +2 Add secrets.env and secrets/ (referenced by keystore-manager.sh and by the workflow's root EXCLUSIONS list).

Integration-branch model

All sub-phase PRs of the Store5-adoption epic target store5Migration on openMF/mifos-x-field-officer-app:

  • Phase A (this PR + auto-generated sync PR)
  • Phase B (core/store seam + AppDatabase v5)
  • Phase C (20 features across 9 waves)
  • Phase D (cleanup)

The final merge store5Migrationdevelopment happens only after Phase D's acceptance gate is green.

Next step (post-merge)

Once this PR is merged into store5Migration, trigger the sync workflow on openMF:

gh workflow run sync-dirs.yaml -R openMF/mifos-x-field-officer-app --ref store5Migration

The workflow will open a second PR with the actual infra payload, also targeting store5Migration.

Test plan

  • Workflow YAML lints cleanly (GitHub renders without errors)
  • gh workflow list -R openMF/mifos-x-field-officer-app shows "Sync CMP Directories" once this is merged
  • Dry-run trigger of the workflow on store5Migration opens a sync PR (no payload — file additions only, no breaking changes to existing source)
  • Sync PR diff respects all EXCLUSIONS (consumer-branded src/main/res, google-services.json, Assets.xcassets, etc. unchanged)

Related

  • Template SOT PR: openMF/kmp-project-template#158 (merged 2026-05-21)

Rajan Maurya added 2 commits May 21, 2026 12:23
Sync infrastructure files updated from upstream template (single source of
truth), as merged in openMF/kmp-project-template#158:

- .github/workflows/sync-dirs.yaml — add fastlane-config to DIRS; add
  exclusions for cmp-desktop/build.gradle.kts, fastlane-config configs,
  .github/workflows/sync-dirs.yaml (self-preservation), and
  build-logic/convention/src/main/kotlin/local (consumer flavor
  extension point). Drop trailing whitespace.
- sync-dirs.sh — mirror the same exclusion contract with explicit
  :dir / :file type tags.
- .gitignore — add secrets.env + secrets/ entries (referenced by
  keystore-manager.sh and by the workflow's root EXCLUSIONS).

Unblocks the first GitHub-Action sync run that will pull core-base/store,
core-base/ui, build-logic, and the rest of the template infra into this
repo — preserving consumer-branded Android/iOS resources via the new
exclusion contract. Part of the Store5 template-adoption epic; full plan
at plan-layer/project-plans/mifos-x/mifos-x-field-officer-app/active/store5-adoption/.
…ion branch

Field-officer's epic uses store5Migration as the integration branch for
all phase PRs (Phase A bootstrap, Phase B core/store seam, Phase C feature
waves, Phase D cleanup). Final merge to development happens only after
Phase D acceptance.

Updates to .github/workflows/sync-dirs.yaml (consumer-side customization
preserved across future template syncs by the workflow file's own
self-exclusion contract):

  - ref: dev               -> ref: store5Migration   (line 26)
  - git checkout dev       -> git checkout store5Migration   (line 199)
  - base: dev              -> base: store5Migration   (line 311)

Upstream branch (template) stays at upstream/dev — template's default
branch is unchanged. Only the consumer-side ref / PR base change.
@therajanmaurya
therajanmaurya requested a review from a team May 21, 2026 07:06
@coderabbitai

coderabbitai Bot commented May 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (1)
  • development

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 9467ac6d-b109-419f-9de0-7240896e5319

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@therajanmaurya
therajanmaurya force-pushed the feat/store5-template-adoption-epic branch from 2ac2fdc to e03096f Compare May 21, 2026 07:10
@sonarqubecloud

Copy link
Copy Markdown

@therajanmaurya
therajanmaurya merged commit 4269299 into openMF:store5Migration May 21, 2026
3 checks passed
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.

1 participant