Connectus split packs routing - #5483
Conversation
🚫 SDK Nightly requiredThis PR modifies files that require the SDK Nightly pipeline to be run before it can be merged:
Required action:
Alternative: run a Content build instead of the full SDK Nightly (click to expand)If your change is scoped (e.g. a single new validator or a small bug fix), you can run a Content build against this SDK branch instead of the full SDK Nightly pipeline. When your change is a new validator, make sure it is registered in the Content repo's This check will re-run automatically when a label is added or removed. |
… pack and its derived twin
Derived (split) packs were assigned source = <original pack name>, which is
the Managed Content feature directory:
<bucket>/<bucket_path>/<source>/<pack_id>/. A derived Gmail pack therefore
landed under the "Gmail" feature instead of "connectus".
Introduce resolve_derived_pack_source() as the single source of truth, with
precedence: per-pack derived_source in pack_metadata.json > DERIVED_PACK_SOURCE
env var > DEFAULT_DERIVED_PACK_SOURCE ("connectus"). The env var is read per
call rather than at import (unlike ENABLE_SPLIT_PACKS) so it stays testable and
settable by CI.
derived_source is declared in both metadata models because StrictPackMetadata
sets extra = Extra.forbid, which would otherwise reject the field outright.
The link back to the originating pack is unaffected; it is carried by
derived_from.
|
Changelog(s) in markdown:
|
Coverage Report for CI Build 32958811761Warning Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes. Warning No base build found for commit Coverage: 86.693%Details
Uncovered Changes
Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
…rectory write_pack_destinations now accepts the artifacts and managed artifacts directories used by ContentDTO.dump(), so each recorded artifact_path points at the directory packs are actually dumped into instead of the directory holding the JSON file. Managed packs are routed to the managed artifacts directory, and the final path segment is delegated to the same _artifact_path() helper dump() uses.
|
Changelog(s) in markdown:
|
| source_platform: Optional[str] = Field(None, alias="source:platform") | ||
|
|
||
| @root_validator | ||
| def validate_coupling_overrides(cls, values): |
| The ``(source_pack_id, target_pack_id)`` pairs of the pack-level | ||
| dependencies that were deleted. | ||
| """ | ||
| ... |
| def obtain_invalid_content_items_using_graph( | ||
| self, content_items: Iterable[ContentTypes], validate_all_files: bool | ||
| ) -> List[ValidationResult]: | ||
| content_id_to_objects = {item.object_id: item for item in content_items} |
…acks-routing' of github.com:demisto/demisto-sdk into connectus-split-packs-routing
TEST