Skip to content

Closes #757 Support Selective Folder Deployment with List#804

Open
shirasassoon wants to merge 26 commits intomicrosoft:mainfrom
shirasassoon:add_folders_to_include_list
Open

Closes #757 Support Selective Folder Deployment with List#804
shirasassoon wants to merge 26 commits intomicrosoft:mainfrom
shirasassoon:add_folders_to_include_list

Conversation

@shirasassoon
Copy link
Contributor

@shirasassoon shirasassoon commented Feb 9, 2026

Closes #757

This pull request introduces support for selectively deploying specific folders using an inclusion list, alongside improvements to folder-based exclusion and shortcut exclusion features. The documentation, configuration samples, and validation logic have been updated to reflect these new capabilities and clarify usage, especially regarding mutual exclusivity and feature flags for folder-level filtering.

Selective Folder Deployment & Filtering:

  • Added support for folder_path_to_include in the deployment configuration, allowing users to specify an explicit list of folder paths (with hierarchy preservation) to include during publish operations. This is mutually exclusive with folder_exclude_regex for the same environment. [1] [2] [3] [4] [5] [6] [7]
  • Enhanced documentation and configuration samples to explain folder-level filtering, the behavior of exclusion/inclusion patterns, and the required feature flags (enable_include_folder, enable_exclude_folder). [1] [2] [3] [4] [5]
  • Updated validation logic to enforce mutual exclusivity, correct types, and provide detailed error messages for the new folder_path_to_include field.

Shortcut and Item Inclusion/Exclusion Improvements:

  • Added support for shortcut_exclude_regex to selectively exclude Lakehouse shortcuts from publishing, with corresponding documentation and validation. [1] [2] [3] [4] [5] [6] [7] [8] [9]
  • Improved handling and validation of items_to_include for both list and environment mapping forms, with better error messages and documentation. [1] [2] [3] [4]

Documentation & Validation Enhancements:

  • Clarified and expanded documentation on the configuration structure, error handling, and feature flags in config_deployment.md and optional_feature.md. [1] [2] [3] [4] [5] [6]
  • Improved validation error messages for empty values, incorrect types, and unsupported fields in the config validator to provide clearer feedback to users. [1] [2] [3] [4] [5] [6] [7]

@shirasassoon shirasassoon marked this pull request as ready for review February 10, 2026 13:44
Copilot AI review requested due to automatic review settings February 10, 2026 13:44
Copy link
Contributor

Copilot AI left a comment

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 experimental capability to selectively publish workspace content by including only specific folder paths (in addition to existing folder exclusion), integrating this into the publish API, config-based deployments, validation, tests, docs, and changelog.

Changes:

  • Introduces enable_include_folder feature flag and folder_path_to_include publish setting/parameter.
  • Updates publish workflow and workspace folder/item publishing logic to respect inclusion/exclusion controls.
  • Extends config validation/utilities, docs, sample config, and tests to cover the new setting.

Reviewed changes

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

Show a summary per file
File Description
src/fabric_cicd/constants.py Adds ENABLE_INCLUDE_FOLDER and config schema/settings support for folder_path_to_include.
src/fabric_cicd/_common/_validate_input.py Adds a new validation entry point for folder_path_to_include gated by feature flags.
src/fabric_cicd/publish.py Extends publish_all_items and config-driven deployment to accept/apply folder_path_to_include.
src/fabric_cicd/fabric_workspace.py Implements inclusion/exclusion checks in folder and item publishing paths.
src/fabric_cicd/_common/_config_validator.py Adds config validation for publish.folder_path_to_include and related error messages.
src/fabric_cicd/_common/_config_utils.py Ensures folder_path_to_include is extracted from config for publish operations.
tests/test_publish.py Updates folder-exclude regex expectations and adds a direct publish inclusion test.
tests/test_deploy_with_config.py Adds config extraction/passing tests for folder_path_to_include and adjusts regex examples.
tests/test_config_validator.py Adds validator test coverage for folder_path_to_include and updates expected field counts/messages.
docs/how_to/optional_feature.md Documents the new enable_include_folder flag.
docs/how_to/config_deployment.md Documents the new publish setting and clarifies folder path formatting expectations.
sample/workspace/config.yml Shows commented examples for folder_exclude_regex and folder_path_to_include.
.changes/unreleased/added-20260210-151850.yaml Changelog entry for selective folder deployment via inclusion list.

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.

Feature Request: support selective folder deployment with list

2 participants