Skip to content

feat: add --force-remote flag to manifest sync#617

Open
srtaalej wants to merge 2 commits into
mwbrooks-2-way-manifest-syncfrom
ale-manifest-force-remote
Open

feat: add --force-remote flag to manifest sync#617
srtaalej wants to merge 2 commits into
mwbrooks-2-way-manifest-syncfrom
ale-manifest-force-remote

Conversation

@srtaalej

@srtaalej srtaalej commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds --force-remote flag to slack manifest sync that pulls app settings to the local project manifest without prompting
  • Symmetric counterpart to --force (which pushes local → remote)
  • Validates mutual exclusion: using both --force and --force-remote returns a clear error
  • Updates non-TTY remediation message to mention both force options

Context

Follow-up to #543 (two-way manifest sync). That PR's notes call out --force-remote as a planned follow-up for non-interactive "remote wins" workflows — CI pipelines, onboarding devs seeding a local manifest from deployed state, etc.

Test plan

# 1. Create a new project
  ./bin/slack create my-force-remote-test
  # 2. Install the app (creates remote manifest on app settings)
  cd my-force-remote-test
  ../bin/slack install -e manifest-sync
  # 3. Verify sync shows no differences initially
  ../bin/slack manifest sync -e manifest-sync
  1. Make a local change to manifest.json (to create drift) e.g., edit display_information.description in manifest.json
  # 5. Test --force-remote pulls remote values (overwrites your local edit)
  ../bin/slack manifest sync --force-remote -e manifest-sync
  # 6. Test mutual exclusion error
  ../bin/slack manifest sync --force --force-remote -e manifest-sync

For testing remote-side drift (the more interesting case for --force-remote), edit the manifest at https://app.slack.com/app-settings after step 2, then run step 5 — it should pull the remote change into your local manifest.json without prompting.

@srtaalej srtaalej self-assigned this Jul 16, 2026
@srtaalej srtaalej added experiment Experimental feature accessed behind the --experiment flag or toggle semver:minor Use on pull requests to describe the release version increment labels Jul 16, 2026
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.33333% with 2 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (mwbrooks-2-way-manifest-sync@879f3a6). Learn more about missing BASE report.

Files with missing lines Patch % Lines
internal/manifest/sync.go 66.66% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@                       Coverage Diff                       @@
##             mwbrooks-2-way-manifest-sync     #617   +/-   ##
===============================================================
  Coverage                                ?   72.04%           
===============================================================
  Files                                   ?      234           
  Lines                                   ?    19791           
  Branches                                ?        0           
===============================================================
  Hits                                    ?    14259           
  Misses                                  ?     4279           
  Partials                                ?     1253           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@srtaalej
srtaalej marked this pull request as ready for review July 16, 2026 15:51
@srtaalej
srtaalej requested a review from a team as a code owner July 16, 2026 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

experiment Experimental feature accessed behind the --experiment flag or toggle semver:minor Use on pull requests to describe the release version increment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant