Skip to content

feat: opt in bulk publish in deploy command #260

Open
ayeshurun wants to merge 20 commits into
microsoft:mainfrom
ayeshurun:copilot/update-fabric-cicd-dependency
Open

feat: opt in bulk publish in deploy command #260
ayeshurun wants to merge 20 commits into
microsoft:mainfrom
ayeshurun:copilot/update-fabric-cicd-dependency

Conversation

@ayeshurun

@ayeshurun ayeshurun commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

By default, fab deploy publishes items one at a time. This PR introduces an opt-in --bulk_publish command flag, when provided, the deploy command uses a single bulk import API call via the underlying fabric-cicd library.

The feature is disabled by default, so existing deployments keep the standard per-item publish behavior. When enabled, the CLI automatically turns on the required enable_experimental_features and enable_bulk_publish fabric-cicd feature flags and prints a warning that the feature is experimental.

Changes

  • New command flag: Added --bulk_publish (if not provided, default is false).
  • Deploy behavior: deploy_with_config_file now calls _apply_bulk_publish_feature_flags(args), which appends the enable_experimental_features and enable_bulk_publish feature flags and warns the user when the flag was provided.
  • Dependency bump: Raised fabric-cicd requirement from >=0.3.1 to >=1.2.0 in pyproject.toml and requirements-dev.txt (required for the bulk import API).

Copilot AI review requested due to automatic review settings July 2, 2026 12:35
@ayeshurun ayeshurun requested a review from a team as a code owner July 2, 2026 12:35

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

Adds an opt-in configuration switch to enable experimental “bulk publish” behavior for fab deploy by turning on the required fabric-cicd feature flags, along with dependency/docs/tests updates to support and document the new capability.

Changes:

  • Introduces deploy_bulk_publish_enabled config key (default false) and wires it into deploy_with_config_file to append enable_experimental_features + enable_bulk_publish.
  • Updates documentation and changelog entry describing how to enable/disable the experimental behavior.
  • Bumps fabric-cicd dependency floor to >=1.2.0 and adds/updates tests + VCR recordings for the new setting.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/fabric_cli/core/fab_constant.py Registers the new deploy_bulk_publish_enabled config key, valid values, and default.
src/fabric_cli/commands/fs/deploy/fab_fs_deploy_config_file.py Applies bulk publish feature flags (and warns) when the config setting is enabled.
requirements-dev.txt Raises dev dependency minimum for fabric-cicd to support bulk import API.
pyproject.toml Raises runtime dependency minimum for fabric-cicd to support bulk import API.
docs/essentials/settings.md Documents the new config setting in the settings table.
docs/commands/fs/deploy.md Adds “Bulk Publish (Experimental)” section with usage and notes.
.changes/unreleased/added-20260701-121400.yaml Adds changelog entry for the new opt-in deploy setting.
tests/test_utils/test_fab_deploy_bulk_publish.py Adds unit-style tests asserting the feature flags are appended (without VCR).
tests/test_commands/test_deploy.py Adds an E2E test case verifying the flags are appended when config is enabled.
tests/test_commands/recordings/test_commands/test_deploy/test_deploy_multiple_items_bulk_publish_enabled_success.yaml New VCR cassette for the new E2E scenario.
tests/test_commands/recordings/test_commands/test_deploy/class_setup.yaml Updates recorded headers/values (User-Agent, timestamps, etc.) for the test class setup cassette.

Comment thread src/fabric_cli/commands/fs/deploy/fab_fs_deploy_config_file.py
Comment thread tests/test_commands/test_deploy.py Outdated
Comment thread tests/test_commands/test_deploy.py
@ayeshurun ayeshurun changed the title feat: Opt in bulk publish in deploy command feat: opt in bulk publish in deploy command Jul 2, 2026
@ayeshurun ayeshurun changed the title feat: opt in bulk publish in deploy command chore: opt in bulk publish in deploy command Jul 2, 2026
@ayeshurun ayeshurun changed the title chore: opt in bulk publish in deploy command feat: opt in bulk publish in deploy command Jul 5, 2026
@ayeshurun ayeshurun changed the title feat: opt in bulk publish in deploy command feat: opt in bulk publish in deploy command Jul 5, 2026
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