Skip to content

Add System Application dependency to Test Framework apps#8762

Open
thloke wants to merge 1 commit into
mainfrom
private/thloke/test-fwk-systemapp-dep
Open

Add System Application dependency to Test Framework apps#8762
thloke wants to merge 1 commit into
mainfrom
private/thloke/test-fwk-systemapp-dep

Conversation

@thloke

@thloke thloke commented Jun 24, 2026

Copy link
Copy Markdown

What

Adds an explicit dependency on System Application (63ca2fa4-4f03-4f2b-a480-172fef340d3f) to the four Test Framework library apps:

  • Any
  • Library Assert
  • Test Runner
  • Library Variable Storage

Why

These apps previously declared no application-level dependency (platform only). As a result the app dependency resolver treats them as compatible across application builds, so a tenant can end up with a newer build of these apps published than the application schema being applied during an environment upgrade — which blocks the upgrade sync (forward-only schema guard).

Declaring a dependency on System Application version-gates the apps to the application build, modelling the dependency the same way other first-party apps (e.g. Business Foundation) already do.

Circular dependency check

None introduced:

  • The umbrella System Application app declares dependencies: [].
  • 0 of the 111 runtime sub-apps under System Application/App/ depend on any Test Framework app.
  • The only consumers of the Test Framework inside System Application are the separate Test / Test Library / Partner Test packages, which sit above the framework in the graph.

Graph stays acyclic: System Application (App) -> Test Framework -> System Application Test.

Note

Draft / experimental — raised in the context of an upgrade-compatibility investigation. Architectural note: this inverts the conceptual layering (the Test Framework would sit above the entire System Application runtime surface).

Declare an explicit dependency on System Application (63ca2fa4) in the
Test Framework library apps (Any, Library Assert, Test Runner, Library
Variable Storage). Previously these apps declared no application-level
dependency (platform only), so the dependency resolver treated them as
compatible across application builds. Tying them to System Application
version-gates them to the application, modelling the dependency the same
way other first-party apps (e.g. Business Foundation) do.

No circular dependency is introduced: the System Application umbrella app
declares no dependencies and none of its 111 runtime sub-apps depend on
the Test Framework; only the separate System Application Test/Test Library
packages consume it, and they sit above the framework in the graph.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Could not find a linked ADO work item. Please link one by using the pattern 'AB#' followed by the relevant work item number. You may use the 'Fixes' keyword to automatically resolve the work item when the pull request is merged. E.g. 'Fixes AB#1234'

@thloke thloke marked this pull request as ready for review June 24, 2026 06:24
@thloke thloke requested a review from a team June 24, 2026 06:24
@thloke thloke requested review from a team as code owners June 24, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant