-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Build, but don't run, ARM/ARM64 tests #1505
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
9705cea
Build, but do not run, the ARM/ARM64 tests
cbezault 9afcce7
Suppress alignment warning
cbezault a6ca78d
Vectorcall is meaningless on ARM so don't test it.
cbezault 7ed36a3
Fixup warning in bit for ARM
cbezault 4263ecb
Skip clang tests on ARM
cbezault 2dc447d
Workaround missing 128-bit intrinsics on LLVM 11
cbezault 319641a
Merge branch 'master' into build-arm64
cbezault f54dd73
Bring the impoved cloning behavior to the cross build
cbezault 2617a08
Rename BUILD_ONLY to TESTS_BUILD_ONLY
cbezault 7363944
Fix typo
cbezault a4af2c5
Fix the variable name in the s
cbezault b005aa8
cleanup yaml
cbezault 763a561
Fixup bit
cbezault c38416b
Fixup some whitespace errors
cbezault ffa2fa4
More whitespace
cbezault c3cd0be
Try strategies
cbezault 045f6aa
whitespace
cbezault ed708c1
More small
cbezault e8d4dcd
more
cbezault 4cc38ee
more whitespace
cbezault 0afa935
yaml shenanigans
cbezault 4f6d6ce
Move the variables around
cbezault 3b6311f
more
cbezault 9ae51b6
more
cbezault 1a075bb
more
cbezault 6f10701
more
cbezault 5646fe6
more
cbezault e179cc5
more
cbezault 4fd39dd
clang-format
cbezault 3130de9
more
cbezault bba2026
More
cbezault 50b8bc4
more
cbezault 91ed1dd
more
cbezault 44528d0
Comment improvement
cbezault fac1c07
more
cbezault 421afac
more
cbezault eb5a08e
More cleanup
cbezault b14211a
Try publishing the artifact
cbezault 3f7f974
Don't upload such large artifact
cbezault b0033cd
fix artifact name
cbezault a9e4546
Reinitalizing seems to corrupt the index file when extensions are ena…
cbezault 8dd0e0e
one last attempt
cbezault 5b5bdf0
Try adding .git
cbezault cf99068
add debugging dirs
cbezault b2bee33
Check for the index file
cbezault 9095122
Make checkout more straightforward and robust
cbezault f6b15b6
fixup
cbezault 5f691e9
Merge branch 'master' into build-arm64
StephanTLavavej 2161e61
Attempt to simplify names of checks.
StephanTLavavej File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| # Copyright (c) Microsoft Corporation. | ||
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
|
|
||
| parameters: | ||
| - name: vcpkgSHAVar | ||
| type: string | ||
| default: vcpkgSHA | ||
| - name: llvmSHAVar | ||
| type: string | ||
| default: llvmSHA | ||
| steps: | ||
| - checkout: self | ||
| clean: true | ||
| submodules: false | ||
| - task: PowerShell@2 | ||
| displayName: 'Get submodule SHAs' | ||
| timeoutInMinutes: 1 | ||
| inputs: | ||
| targetType: inline | ||
| script: | | ||
| cd $(Build.SourcesDirectory) | ||
| $regexSubmoduleSHA = '^[ \-+]([0-9a-f]+) .*$' | ||
| $llvmSHA = git submodule status --cached llvm-project | %{$_ -replace $regexSubmoduleSHA, '$1'} | ||
| Write-Host "##vso[task.setvariable variable=${{ parameters.llvmSHAVar }};]$llvmSHA" | ||
| $vcpkgSHA = git submodule status --cached vcpkg | %{$_ -replace $regexSubmoduleSHA, '$1'} | ||
| Write-Host "##vso[task.setvariable variable=${{ parameters.vcpkgSHAVar }};]$vcpkgSHA" | ||
| - script: | | ||
| cd $(Build.SourcesDirectory) | ||
| if not exist "llvm-project" ( | ||
| mkdir llvm-project | ||
| ) | ||
| cd llvm-project | ||
|
|
||
| if not exist ".git" ( | ||
| del /S /Q * | ||
| git init | ||
| ) | ||
|
|
||
| git remote get-url llvm | ||
| if errorlevel 1 ( | ||
| git remote add llvm https://github.com/llvm/llvm-project.git | ||
| git config --local extensions.partialClone llvm | ||
| ) | ||
|
|
||
| git fetch --filter=tree:0 --depth=1 llvm $(${{ parameters.llvmSHAVar }}) | ||
| git reset --quiet FETCH_HEAD | ||
| git sparse-checkout init --cone | ||
| git sparse-checkout set libcxx/test libcxx/utils/libcxx llvm/utils/lit | ||
| displayName: "Checkout LLVM source" | ||
| - script: | | ||
| cd $(Build.SourcesDirectory) | ||
| if not exist "vcpkg" ( | ||
| mkdir vcpkg | ||
| ) | ||
| cd vcpkg | ||
|
|
||
| if not exist ".git" ( | ||
| del /S /Q * | ||
| git init | ||
| ) | ||
|
|
||
| git remote get-url vcpkg | ||
| if errorlevel 1 ( | ||
| git remote add vcpkg https://github.com/Microsoft/vcpkg.git | ||
| git config --local extensions.partialClone vcpkg | ||
| ) | ||
|
|
||
| git fetch --filter=tree:0 --depth=1 vcpkg $(${{ parameters.vcpkgSHAVar }}) | ||
| git checkout -f FETCH_HEAD | ||
| displayName: "Checkout vcpkg source" |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| # Copyright (c) Microsoft Corporation. | ||
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
|
|
||
| parameters: | ||
| - name: hostArch | ||
| type: string | ||
| - name: targetArch | ||
| type: string | ||
| - name: vcpkgLocationVar | ||
| type: string | ||
| default: vcpkgLocation | ||
| - name: targetPlatform | ||
| type: string | ||
| - name: buildOutputLocationVar | ||
| type: string | ||
| default: buildOutputLocation | ||
| - name: cmakeAdditionalFlags | ||
| type: string | ||
| default: '' | ||
| steps: | ||
| - task: PowerShell@2 | ||
| displayName: 'Get Test Parallelism' | ||
| timeoutInMinutes: 1 | ||
| inputs: | ||
| targetType: inline | ||
| script: | | ||
| $testParallelism = $env:NUMBER_OF_PROCESSORS - 2 | ||
| Write-Host "##vso[task.setvariable variable=testParallelism;]$testParallelism" | ||
| - script: | | ||
| if exist "$(${{ parameters.buildOutputLocationVar }})" ( | ||
| rmdir /S /Q "$(${{ parameters.buildOutputLocationVar }})" | ||
| ) | ||
| call "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Preview\Common7\Tools\VsDevCmd.bat" ^ | ||
| -host_arch=${{ parameters.hostArch }} -arch=${{ parameters.targetArch }} -no_logo | ||
| cmake ${{ parameters.cmakeAdditionalFlags}} -G Ninja ^ | ||
| -DCMAKE_TOOLCHAIN_FILE=$(${{ parameters.vcpkgLocationVar }})\scripts\buildsystems\vcpkg.cmake ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{ parameters.targetPlatform }}-windows ^ | ||
| -DCMAKE_CXX_COMPILER=cl ^ | ||
| -DCMAKE_BUILD_TYPE=Release ^ | ||
| -DLIT_FLAGS=$(litFlags) ^ | ||
| -DCMAKE_CXX_FLAGS=/analyze:autolog- ^ | ||
| -S $(Build.SourcesDirectory) -B $(${{ parameters.buildOutputLocationVar }}) | ||
| displayName: 'Configure the STL' | ||
| timeoutInMinutes: 2 | ||
| env: { TMP: $(tmpDir), TEMP: $(tmpDir) } | ||
| - script: | | ||
| call "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2019\Preview\Common7\Tools\VsDevCmd.bat" ^ | ||
| -host_arch=${{ parameters.hostArch }} -arch=${{ parameters.targetArch }} -no_logo | ||
| cmake --build $(${{ parameters.buildOutputLocationVar }}) | ||
| displayName: 'Build the STL' | ||
| timeoutInMinutes: 10 | ||
| env: { TMP: $(tmpDir), TEMP: $(tmpDir) } |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| # Copyright (c) Microsoft Corporation. | ||
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
|
|
||
| parameters: | ||
| - name: hostArch | ||
| type: string | ||
| default: amd64 | ||
| - name: targetPlatform | ||
| type: string | ||
| - name: vsDevCmdArch | ||
| type: string | ||
| - name: buildOutputLocationVar | ||
| type: string | ||
| default: buildOutputLocation | ||
| - name: numShards | ||
| type: number | ||
| default: 8 | ||
| jobs: | ||
| - job: '${{ parameters.targetPlatform }}' | ||
| variables: | ||
| fixedFlags: '--timeout=240;--shuffle' | ||
| parallelismFlag: '-j$(testParallelism)' | ||
| xmlOutputFlag: '--xunit-xml-output=$(${{ parameters.buildOutputLocationVar }})/test-results.xml' | ||
| shardFlags: '--num-shards=$(System.TotalJobsInPhase);--run-shard=$(System.JobPositionInPhase)' | ||
| litFlags: '$(fixedFlags);$(parallelismFlag);$(xmlOutputFlag);$(shardFlags)' | ||
| strategy: | ||
| parallel: ${{ parameters.numShards }} | ||
| timeoutInMinutes: 360 | ||
| steps: | ||
| - script: | | ||
| if exist "$(tmpDir)" (rmdir /S /Q $(tmpDir)) | ||
| mkdir $(tmpDir) | ||
| displayName: 'Setup TMP Directory' | ||
|
|
||
| - template: checkout-sources.yml | ||
| - template: vcpkg-dependencies.yml | ||
| parameters: | ||
| targetPlatform: ${{ parameters.targetPlatform }} | ||
| - template: cmake-configure-build.yml | ||
| parameters: | ||
| targetPlatform: ${{ parameters.targetPlatform }} | ||
| hostArch: ${{ parameters.hostArch }} | ||
| targetArch: ${{ parameters.vsDevCmdArch }} | ||
| cmakeAdditionalFlags: '-DTESTS_BUILD_ONLY=ON' | ||
| - template: run-tests.yml | ||
| parameters: | ||
| hostArch: ${{ parameters.hostArch }} | ||
| targetPlatform: ${{ parameters.targetPlatform }} | ||
| targetArch: ${{ parameters.vsDevCmdArch }} | ||
| displayName: 'Build Tests' | ||
| publishArtifact: true | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| # Copyright (c) Microsoft Corporation. | ||
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
|
|
||
| parameters: | ||
| - name: targetPlatform | ||
| type: string | ||
| - name: vsDevCmdArch | ||
| type: string | ||
| - name: buildOutputLocationVar | ||
| type: string | ||
| default: buildOutputLocation | ||
| - name: numShards | ||
| type: number | ||
| default: 8 | ||
| jobs: | ||
| - job: '${{ parameters.targetPlatform }}' | ||
| variables: | ||
| fixedFlags: '--timeout=240;--shuffle' | ||
| parallelismFlag: '-j$(testParallelism)' | ||
| xmlOutputFlag: '--xunit-xml-output=$(${{ parameters.buildOutputLocationVar }})/test-results.xml' | ||
| shardFlags: '--num-shards=$(System.TotalJobsInPhase);--run-shard=$(System.JobPositionInPhase)' | ||
| litFlags: '$(fixedFlags);$(parallelismFlag);$(xmlOutputFlag);$(shardFlags)' | ||
| strategy: | ||
| parallel: ${{ parameters.numShards }} | ||
| timeoutInMinutes: 360 | ||
| steps: | ||
| - script: | | ||
| if exist "$(tmpDir)" (rmdir /S /Q $(tmpDir)) | ||
| mkdir $(tmpDir) | ||
| displayName: 'Setup TMP Directory' | ||
|
|
||
| - template: checkout-sources.yml | ||
| - template: vcpkg-dependencies.yml | ||
| parameters: | ||
| targetPlatform: ${{ parameters.targetPlatform }} | ||
| - template: cmake-configure-build.yml | ||
| parameters: | ||
| targetPlatform: ${{ parameters.targetPlatform }} | ||
| targetArch: ${{ parameters.vsDevCmdArch }} | ||
| hostArch: ${{ parameters.vsDevCmdArch }} | ||
| - template: run-tests.yml | ||
| parameters: | ||
| hostArch: ${{ parameters.vsDevCmdArch }} | ||
| targetPlatform: ${{ parameters.targetPlatform }} | ||
| targetArch: ${{ parameters.vsDevCmdArch }} |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.