Split Tests-SCM: extract Tests-SCM-Warehouse to parallelize the test run#9680
Open
Groenbech96 wants to merge 4 commits into
Open
Split Tests-SCM: extract Tests-SCM-Warehouse to parallelize the test run#9680Groenbech96 wants to merge 4 commits into
Groenbech96 wants to merge 4 commits into
Conversation
Tests-SCM is a single test app (~8.6k tests, ~113 min) and the long pole in the BCApps test run, since ParallelTestExecution dispatches each test app as its own parallel job on a separate tenant. This carves the Warehouse/WMS sub-domain (39 codeunits, ~2187 tests) into a new Tests-SCM-Warehouse app so it runs concurrently with the Tests-SCM remainder, shortening the critical path. - New app src/Layers/W1/Tests/SCM-Warehouse (app.json + 39 moved codeunits) - Register in build/projects.json, build/groups.json and TestConfiguration.json (LegacyTests-Bucket2, next to Tests-SCM) - Add the folder to testFolders in all 23 Apps <country> AL-Go settings - Move 362 matching disabled-test entries into DisabledTests/Tests-SCM-Warehouse and prune them from the Tests-SCM files No code coupling between the two apps (0 cross-references verified); object IDs are unchanged and remain globally unique, so no renumbering is needed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
|
Could not find linked issues in the pull request description. Please make sure the pull request description contains a line that contains 'Fixes #' followed by the issue number being fixed. Use that pattern for every issue you want to link. |
Adds Tests-SCM-Warehouse to Base Application internalsVisibleTo, resolving AL0161 failures in the country builds. [bcapps-fix-loop attempt 1] Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 093dac30-6dd7-42da-9378-2e096ccc6fd5
The Tests-SCM split moved warehouse test codeunits from Layers/W1/Tests/SCM to Layers/W1/Tests/SCM-Warehouse, but left the country-layer localization overrides in Layers/<CC>/Tests/SCM. Because country layers overlay onto the W1 app by folder name, those overrides kept shipping in Tests-SCM while their W1 base now ships in Tests-SCM-Warehouse, causing duplicate object errors at install time (e.g. codeunit 137048 'SCM Warehouse II' in NZ). Move the 11 stray overrides (CH, CZ, GB, NA, NO, NZ, RU) into a Tests/SCM-Warehouse folder in each country layer, matching the base relocation and the existing SCM-Assembly/Service overlay pattern. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8ae9b321-45bb-411e-9b9d-e8cde28c467e
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Tests-SCMis a single test app with ~8.6k tests (~113 min run time) and is the long pole of the BCApps test run.build/scripts/ParallelTestExecution.psm1dispatches each test app as its own parallel job on a separate tenant, so tests inside one app run serially — a single giant app cannot be parallelized and bounds the critical path.The SCM domain was already partially carved up (
Tests-SCM-Assembly,Tests-SCM-Manufacturing,Tests-SCM-Service). This PR continues that pattern by extracting the Warehouse / WMS sub-domain.What
Extracts 39 test codeunits (~2,187 tests) from
Tests-SCMinto a newTests-SCM-Warehouseapp so it runs concurrently with theTests-SCMremainder.src/Layers/W1/Tests/SCM-Warehouse/—app.json(new id, dependencies copied fromTests-SCM) + the 39 moved codeunits (moved withgit mv, history preserved).build/projects.json— newTests-SCM-Warehouseproject block (mirrorsTests-SCM-Service).build/groups.json— new entry (Base / Financials / OnPrem).build/scripts/TestConfiguration.json— added toLegacyTests-Bucket2, next to its parentTests-SCM.build/projects/Apps <country>/.AL-Go/settings.json— folder added totestFolders.src/DisabledTests/Tests-SCM-Warehouse/and pruned from the twoTests-SCMdisabled-test files.Safety / validation
Tests-TestLibraries,System Application Test Library, …) → shared automatically.Impact
Tests-SCMis split into two apps that run concurrently on separate tenants, so the SCM critical path drops toward the larger half instead of the sum.Notes
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com