From ff2f1eb3e79d668df75431a217866b1be02891b5 Mon Sep 17 00:00:00 2001 From: Curtis Jacques Bezault Date: Mon, 2 Nov 2020 12:04:13 -0800 Subject: [PATCH 1/3] Proof of concept for sharding tests --- azure-devops/run-build.yml | 6 +-- azure-pipelines.yml | 106 +++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+), 3 deletions(-) diff --git a/azure-devops/run-build.yml b/azure-devops/run-build.yml index 2d52b453755..3cd6125fd0f 100644 --- a/azure-devops/run-build.yml +++ b/azure-devops/run-build.yml @@ -2,12 +2,12 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception jobs: -- job: ${{ parameters.targetPlatform }} +- job: '${{ parameters.targetPlatform }}-${{ parameters.shardNum }}' timeoutInMinutes: 360 variables: buildOutputLocation: 'D:\build\${{ parameters.targetPlatform }}' - litFlags: '-j$(testParallelism);--timeout=240;--shuffle;--xunit-xml-output=$(buildOutputLocation)/test-results.xml' + litFlags: '-j$(testParallelism);--timeout=240;--shuffle;--xunit-xml-output=$(buildOutputLocation)/test-results.xml;--num-shards ${{ parameters.numShards }};--run-shard ${{ parameters.shardNum }}' vcpkgLocation: '$(Build.SourcesDirectory)/vcpkg' steps: - script: | @@ -88,4 +88,4 @@ jobs: searchFolder: $(buildOutputLocation) testResultsFormat: JUnit testResultsFiles: '**/test-results.xml' - testRunTitle: 'test-${{ parameters.targetPlatform }}' + testRunTitle: 'test-${{ parameters.targetPlatform }}-${{ parameters.shardNum }}' diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 641674e59de..71a79fe47eb 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -63,18 +63,124 @@ stages: parameters: targetPlatform: x86 vsDevCmdArch: x86 + numShards: 8 + shardNum: 1 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x86 + vsDevCmdArch: x86 + numShards: 8 + shardNum: 2 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x86 + vsDevCmdArch: x86 + numShards: 8 + shardNum: 3 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x86 + vsDevCmdArch: x86 + numShards: 8 + shardNum: 4 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x86 + vsDevCmdArch: x86 + numShards: 8 + shardNum: 5 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x86 + vsDevCmdArch: x86 + numShards: 8 + shardNum: 6 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x86 + vsDevCmdArch: x86 + numShards: 8 + shardNum: 7 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x86 + vsDevCmdArch: x86 + numShards: 8 + shardNum: 8 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x64 + vsDevCmdArch: amd64 + numShards: 8 + shardNum: 1 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x64 + vsDevCmdArch: amd64 + numShards: 8 + shardNum: 2 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x64 + vsDevCmdArch: amd64 + numShards: 8 + shardNum: 3 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x64 + vsDevCmdArch: amd64 + numShards: 8 + shardNum: 4 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x64 + vsDevCmdArch: amd64 + numShards: 8 + shardNum: 5 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x64 + vsDevCmdArch: amd64 + numShards: 8 + shardNum: 6 + + - template: azure-devops/run-build.yml + parameters: + targetPlatform: x64 + vsDevCmdArch: amd64 + numShards: 8 + shardNum: 7 - template: azure-devops/run-build.yml parameters: targetPlatform: x64 vsDevCmdArch: amd64 + numShards: 8 + shardNum: 8 - template: azure-devops/run-build.yml parameters: targetPlatform: arm vsDevCmdArch: arm + numShards: 1 + shardNum: 1 - template: azure-devops/run-build.yml parameters: targetPlatform: arm64 vsDevCmdArch: arm64 + numShards: 1 + shardNum: 1 From a091965f0e71a442e868a8adbadf265df5437d3d Mon Sep 17 00:00:00 2001 From: Curtis Jacques Bezault Date: Mon, 2 Nov 2020 12:06:40 -0800 Subject: [PATCH 2/3] Rename job --- azure-devops/run-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-devops/run-build.yml b/azure-devops/run-build.yml index 3cd6125fd0f..aceadf8df2f 100644 --- a/azure-devops/run-build.yml +++ b/azure-devops/run-build.yml @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception jobs: -- job: '${{ parameters.targetPlatform }}-${{ parameters.shardNum }}' +- job: '${{ parameters.targetPlatform }}_${{ parameters.shardNum }}' timeoutInMinutes: 360 variables: From 25cd5e649e27a23585d488122650e37d0d64cf7a Mon Sep 17 00:00:00 2001 From: Curtis Jacques Bezault Date: Mon, 2 Nov 2020 12:12:05 -0800 Subject: [PATCH 3/3] Get under 120 columns --- azure-devops/run-build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/azure-devops/run-build.yml b/azure-devops/run-build.yml index aceadf8df2f..319d56e1a51 100644 --- a/azure-devops/run-build.yml +++ b/azure-devops/run-build.yml @@ -7,7 +7,8 @@ jobs: variables: buildOutputLocation: 'D:\build\${{ parameters.targetPlatform }}' - litFlags: '-j$(testParallelism);--timeout=240;--shuffle;--xunit-xml-output=$(buildOutputLocation)/test-results.xml;--num-shards ${{ parameters.numShards }};--run-shard ${{ parameters.shardNum }}' + litFlags: '-j$(testParallelism);--timeout=240;--shuffle;--xunit-xml-output=$(buildOutputLocation)/test-results.xml' + shardFlags: '--num-shards=${{ parameters.numShards }};--run-shard=${{ parameters.shardNum }}' vcpkgLocation: '$(Build.SourcesDirectory)/vcpkg' steps: - script: | @@ -62,7 +63,7 @@ jobs: -host_arch=amd64 -arch=${{ parameters.vsDevCmdArch }} -no_logo cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=$(vcpkgLocation)\scripts\buildsystems\vcpkg.cmake ^ -DVCPKG_TARGET_TRIPLET=${{ parameters.targetPlatform }}-windows -DCMAKE_CXX_COMPILER=cl ^ - -DCMAKE_BUILD_TYPE=Release -DLIT_FLAGS=$(litFlags) ^ + -DCMAKE_BUILD_TYPE=Release -DLIT_FLAGS=$(litFlags);$(shardFlags) ^ -DCMAKE_CXX_FLAGS=/analyze ^ -S $(Build.SourcesDirectory) -B $(buildOutputLocation) cmake --build $(buildOutputLocation)