Split WSLA/WSLC tests into a separate CI runner#14472
Split WSLA/WSLC tests into a separate CI runner#14472benhillis merged 2 commits intofeature/wsl-for-appsfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR splits WSLA/WSLC (container-related) Windows tests into a dedicated CI lane by tagging those test classes with a TestCategory=WSLA TAEF property and updating CloudTest/pipeline configuration to filter on that category.
Changes:
- Introduce
WSLA_TEST_CLASS(and refactor shared class properties) to applyTestCategory=WSLAmetadata to selected TAEF test classes. - Update CloudTest jobs to (a) exclude WSLA-tagged tests from the standard WSL test run and (b) add a new WSLA-only test job group.
- Extend the pipeline test matrix with a
wslaentry to run the new CloudTest map.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/windows/wslc/e2e/WSLCE2EImageInspectTests.cpp | Switch test class to WSLA_TEST_CLASS so it’s selected by the WSLA CI lane. |
| test/windows/wslc/e2e/WSLCE2EImageDeleteTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/e2e/WSLCE2EImageBuildTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/e2e/WSLCE2EGlobalTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/e2e/WSLCE2EContainerTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/e2e/WSLCE2EContainerCreateTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/WSLCCLIParserUnitTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/WSLCCLIExecutionUnitTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/WSLCCLICommandUnitTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/wslc/WSLCCLIArgumentUnitTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/WslcSdkTests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/WSLATests.cpp | Switch test class to WSLA_TEST_CLASS for WSLA CI selection. |
| test/windows/Common.h | Add WSL_TEST_CLASS_PROPERTIES and new WSLA_TEST_CLASS macro (adds TestCategory=WSLA). |
| cloudtest/TestGroup.xml.in | Exclude WSLA-tagged tests from the default test job via a TAEF /select filter. |
| cloudtest/TestGroup-wsla.xml.in | Add a WSLA-only CloudTest job that runs only TestCategory=WSLA tests. |
| cloudtest/CMakeLists.txt | Generate an additional CloudTest map/group output directory for the WSLA lane. |
| .pipelines/test-stage.yml | Add wsla to the pipeline test matrix to schedule the new WSLA lane. |
You can also share your feedback on Copilot code review. Take the survey.
536a617 to
4ec05fc
Compare
There was a problem hiding this comment.
Pull request overview
Adds a WSLA-specific test category and CI split so WSLA/WSLC tests can run in a dedicated CloudTest/TAEF job, reducing overall CI critical-path duration.
Changes:
- Introduces
WSLA_TEST_CLASS(via common test macros) to tag WSLA/WSLC-related test classes withTestCategory=WSLA. - Splits CloudTest execution into two groups using TAEF
/selectfilters (non-WSLA vs WSLA) and adds a new WSLA CloudTest group template. - Extends the pipeline test matrix with a
wslaentry and generates per-image WSLA CloudTest specs.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/test/CloudTest-Setup.bat | Configures WER LocalDumps and creates a crash dump directory during CloudTest setup. |
| test/windows/wslc/e2e/WSLCE2EImageInspectTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EImageDeleteTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EImageBuildTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EGlobalTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EContainerTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EContainerCreateTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLIParserUnitTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLIExecutionUnitTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLICommandUnitTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLIArgumentUnitTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/WslcSdkTests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/WSLATests.cpp | Switches test class metadata macro to WSLA_TEST_CLASS. |
| test/windows/Common.h | Refactors common class properties into WSL_TEST_CLASS_PROPERTIES and adds WSLA_TEST_CLASS with TestCategory=WSLA. |
| cloudtest/TestGroup.xml.in | Excludes WSLA tests from the main TAEF job via /select. |
| cloudtest/TestGroup-wsla.xml.in | Adds a new CloudTest group that runs only WSLA-tagged tests via /select. |
| cloudtest/CMakeLists.txt | Adds generation of per-image WSLA CloudTest specs. |
| .pipelines/test-stage.yml | Adds wsla to the test matrix versions. |
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
This PR enables splitting WSLA/WSLC container-related tests into a dedicated CloudTest job by tagging those test classes with TestCategory=WSLA and updating CloudTest/CI to run @TestCategory='WSLA' separately from the rest of the suite.
Changes:
- Introduces
WSLA_TEST_CLASS(addsTestCategory=WSLA) and applies it across WSLA/WSLC test classes. - Updates CloudTest TestGroup definitions to exclude WSLA tests from the default job and adds a new WSLA-only TestGroup.
- Extends the pipeline test matrix to include a
wslaversion/job.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/test/CloudTest-Setup.bat | Configures WER LocalDumps to capture full crash dumps during CloudTest runs. |
| test/windows/wslc/e2e/WSLCE2EImageInspectTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EImageDeleteTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EImageBuildTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EGlobalTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EContainerTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/e2e/WSLCE2EContainerCreateTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLIParserUnitTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLIExecutionUnitTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLICommandUnitTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/wslc/WSLCCLIArgumentUnitTests.cpp | Tags test class as WSLA via WSLA_TEST_CLASS. |
| test/windows/WslcSdkTests.cpp | Tags class as WSLA and adds extra SEH logging around a functional test block. |
| test/windows/WSLATests.cpp | Tags class as WSLA via WSLA_TEST_CLASS. |
| test/windows/Common.h | Adds WSL_TEST_CLASS_PROPERTIES and new WSLA_TEST_CLASS macro. |
| test/windows/Common.cpp | Adjusts lambda capture to explicitly capture this. |
| cloudtest/TestGroup.xml.in | Excludes WSLA tests from the default job via /select:"not(@TestCategory='WSLA')" |
| cloudtest/TestGroup-wsla.xml.in | Adds a WSLA-only CloudTest group via /select:"@TestCategory='WSLA'". |
| cloudtest/CMakeLists.txt | Generates an additional *-wsla CloudTest group per image. |
| .pipelines/test-stage.yml | Adds wsla to the test matrix versions. |
d6fd406 to
1911814
Compare
1911814 to
439f52c
Compare
Add a WSLA_TEST_CLASS macro that tags test classes with TestCategory=WSLA, allowing TAEF /select filters to split them into a dedicated CI job.
This runs WSLA/WSLC container tests (153 tests) in parallel with traditional WSL tests (389 tests), reducing the critical path of the CI pipeline.