* Remove Signature of ParallelStacks.Runtime; package no longer used.
* Change download logic
* Remove testing flag from base scripts
* Remove ciTest wrapper script
* Remove docker container nesting and unify build invocation
* Temporarily disable 5.0 tests
* Update Windows and Ubuntu queues.
* Add back docker-build; Add SYS_PTRACE instead of privileged
* Verify Docker
* Disable DSO test on desktop
name: Alpine3_6
osGroup: Linux
dockerImage: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.6-WithNode-f4d3fe3-20181220200247
+ artifactsTargetPath: bin/Linux-musl.x64.Release
strategy:
matrix:
Build_Release:
parameters:
name: MacOS_cross
osGroup: MacOS_cross
+ buildAndSkipTest: true
strategy:
matrix:
Build_Release:
osGroup: Linux
dockerImage: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-14.04-cross-1735d26-20190521133857
crossrootfsDir: '/crossrootfs/arm'
+ buildAndSkipTest: true
strategy:
matrix:
Build_Release:
- _BuildOnly: true
_BuildConfig: Release
_BuildArch: arm
_PublishArtifacts: bin/Linux.arm.Release
osGroup: Linux
dockerImage: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-a3ae44b-20180315221921
crossrootfsDir: '/crossrootfs/arm64'
+ buildAndSkipTest: true
strategy:
matrix:
Build_Release:
- _BuildOnly: true
_BuildConfig: Release
_BuildArch: arm64
_PublishArtifacts: bin/Linux.arm64.Release
osGroup: Linux
dockerImage: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-16.04-cross-arm64-alpine-406629a-20200127195039
crossrootfsDir: '/crossrootfs/arm64'
+ artifactsTargetPath: bin/Linux-musl.arm64.Release
+ buildAndSkipTest: true
strategy:
matrix:
Build_Release:
- _BuildOnly: true
_BuildConfig: Release
_BuildArch: arm64
_PublishArtifacts: bin/Linux.arm64.Release
dockerImage: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-28-09ca40b-20190508143249
dependsOn: CentOS_7
testOnly: true
+ requiresCapPtraceContainer: true
strategy:
matrix:
Build_Debug:
dockerImage: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-29-09ca40b-20190508143249
dependsOn: CentOS_7
testOnly: true
+ requiresCapPtraceContainer: true
strategy:
matrix:
Build_Debug:
_BuildArch: x64
# Download, sign, package and publish
-
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
- template: /eng/common/templates/job/job.yml
parameters:
condition: succeeded()
pool:
name: NetCoreInternal-Pool
- queue: BuildPool.Windows.10.Amd64.VS2017
+ queue: BuildPool.Windows.10.Amd64.VS2019
enablePublishUsingPipelines: true
enableMicrobuild: true
artifacts:
logs:
name: Logs_Packaging_Signing
steps:
-
- # Windows x64 download. Everything under "bin" is published for the Windows x64 build.
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Windows x64 and Managed Artifacts
+ - task: DownloadBuildArtifacts@0
+ displayName: 'Download release builds'
inputs:
- artifactName: Windows_x64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin'
- condition: succeeded()
-
- # Windows x86 download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Windows x86 Artifacts
+ downloadPath: '$(Build.ArtifactStagingDirectory)/__download__'
+ artifactName: Build_Release
+ checkDownloadedFiles: true
+ - task: CopyFiles@2
+ displayName: 'Binplace Product'
inputs:
- artifactName: Windows_x86_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Windows_NT.x86.Release'
- condition: succeeded()
-
- # Windows arm download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Windows Arm Artifacts
- inputs:
- artifactName: Windows_arm_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Windows_NT.arm.Release'
- condition: succeeded()
-
- # Windows arm64 download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Windows Arm64 Artifacts
- inputs:
- artifactName: Windows_arm64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Windows_NT.arm64.Release'
- condition: succeeded()
-
- # Linux x64 download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Linux Artifacts
- inputs:
- artifactName: CentOS_7_x64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Linux.x64.Release'
- condition: succeeded()
-
- # Linux MUSL x64 download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Linux Musl Artifacts
- inputs:
- artifactName: Alpine3_6_x64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Linux-musl.x64.Release'
- condition: succeeded()
-
- # Linux arm download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Linux Arm Artifacts
- inputs:
- artifactName: Linux_cross_arm_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Linux.arm.Release'
- condition: succeeded()
-
- # Linux arm64 download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Linux Arm64 Artifacts
- inputs:
- artifactName: Linux_cross64_arm64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Linux.arm64.Release'
- condition: succeeded()
-
- # Linux MUSL arm64 download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download Linux Musl arm64 Artifacts
- inputs:
- artifactName: Alpine3_6_cross64_arm64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Linux-musl.arm64.Release'
- condition: succeeded()
-
- # MacOS download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download MacOS Artifacts
- inputs:
- artifactName: MacOS_x64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/OSX.x64.Release'
- condition: succeeded()
-
- # MacOS arm64 download
-
- - task: DownloadPipelineArtifact@2
- displayName: Download MacOS arm64 Artifacts
- inputs:
- artifactName: MacOS_cross_arm64_Release
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/OSX.arm64.Release'
- condition: succeeded()
+ sourceFolder: $(Build.ArtifactStagingDirectory)/__download__/Build_Release
+ targetFolder: '$(Build.SourcesDirectory)/artifacts/'
+ # Windows x64 download. Everything under "bin" is published for the Windows x64 build.
# Create nuget packages, sign binaries and publish to blob feed
- script: $(Build.SourcesDirectory)\eng\ci-prepare-artifacts.cmd $(_InternalBuildArgs)
displayName: Package, Sign, and Publish
condition: succeeded()
# Publish package and log build artifacts
-
- task: PublishBuildArtifacts@1
displayName: Publish Package Artifacts
inputs:
publishUsingPipelines: true
pool:
name: NetCoreInternal-Pool
- queue: buildpool.windows.10.amd64.vs2017
+ queue: buildpool.windows.10.amd64.vs2019
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/common/templates/post-build/post-build.yml
@echo off
-powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0build.ps1""" -restore -test -ci %*"
+powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0build.ps1""" -restore -ci -prepareMachine %*"
exit /b %ErrorLevel%
Condition="'$(SignFilesToBundle)' == 'true'" />
<ItemGroup>
- <FileSignInfo Include="ParallelStacks.Runtime.dll" CertificateName="3PartySHA2" />
<FileSignInfo Include="Newtonsoft.Json.dll" CertificateName="3PartySHA2" />
<FileSignInfo Include="Newtonsoft.Json.Bson.dll" CertificateName="3PartySHA2" />
</ItemGroup>
parameters:
# Job name
name: ''
-
# Agent OS (Windows_NT, Linux, MacOS, FreeBSD)
osGroup: Windows_NT
-
# Additional variables
variables: {}
-
# Build strategy - matrix
strategy: ''
-
# Optional: Job timeout
timeoutInMinutes: 180
-
# Optional: Docker image to use
dockerImage: ''
-
# Optional: ROOTFS_DIR to use
crossrootfsDir: ''
-
# Optional: test only job if true
testOnly: false
-
+ buildAndSkipTest: false
# Depends on
dependsOn: ''
+ artifactsTargetPath: ''
+ requiresCapPtraceContainer: false
jobs:
- template: /eng/common/templates/job/job.yml
# Public Linux Build Pool
${{ if and(eq(parameters.osGroup, 'Linux'), eq(variables['System.TeamProject'], 'public')) }}:
name: NetCorePublic-Pool
- queue: BuildPool.Ubuntu.1604.Amd64.Open
+ queue: BuildPool.Ubuntu.1804.Amd64.Open
# Official Build Linux Pool
${{ if and(eq(parameters.osGroup, 'Linux'), ne(variables['System.TeamProject'], 'public')) }}:
name: NetCoreInternal-Pool
- queue: BuildPool.Ubuntu.1604.Amd64
+ queue: BuildPool.Ubuntu.1804.Amd64
# FreeBSD builds only in the internal project
${{ if and(eq(parameters.osGroup, 'FreeBSD'), ne(variables['System.TeamProject'], 'public')) }}:
# Official Build Windows Pool
${{ if and(eq(parameters.osGroup, 'Windows_NT'), ne(variables['System.TeamProject'], 'public')) }}:
name: NetCoreInternal-Pool
- queue: BuildPool.Windows.10.Amd64.VS2017
+ queue: BuildPool.Windows.10.Amd64.VS2019
# Public Windows Build Pool
${{ if and(eq(parameters.osGroup, 'Windows_NT'), eq(variables['System.TeamProject'], 'public')) }}:
name: NetCorePublic-Pool
- queue: BuildPool.Windows.10.Amd64.VS2017.Open
+ queue: BuildPool.Windows.10.Amd64.VS2019.Open
+
+ ${{ if and(ne(parameters.dockerImage, ''), ne(parameters.requiresCapPtraceContainer, 'true')) }}:
+ container: ${{ parameters.dockerImage }}
${{ if ne(parameters.strategy, '') }}:
strategy: ${{ parameters.strategy }}
variables:
- ${{ insert }}: ${{ parameters.variables }}
- - _PortableLinuxBuild: CentOS_7_$(_BuildArch)_$(_BuildConfig)
- _DockerImageName: ${{ parameters.dockerImage }}
- _PhaseName : ${{ parameters.name }}
- _HelixType: build/product
- _HelixBuildConfig: $(_BuildConfig)
- _Pipeline_StreamDumpDir: $(Build.SourcesDirectory)/artifacts/tmp/$(_BuildConfig)/streams
+
+ - ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
+ - _buildScript: $(Build.SourcesDirectory)\eng\cibuild.cmd
+ - ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
+ - _buildScript: $(Build.SourcesDirectory)/eng/cibuild.sh
+
+ - _TestArgs: '-test'
+ - _dockerEnv: ''
+
+ - ${{ if eq(parameters.testOnly, 'true') }}:
+ - _TestArgs: '-test -skipnative'
+ - ${{ if eq(parameters.requiresCapPtraceContainer, 'true') }}:
+ - _dockerEnv: $(Build.SourcesDirectory)/eng/docker-build.sh
+ --docker-image $(_DockerImageName)
+ --source-directory $(Build.SourcesDirectory)
+ --container-name diagnostics-$(Build.BuildId)
+
+ - ${{ if eq(parameters.buildAndSkipTest, 'true') }}:
+ - _TestArgs: ''
+
- _InternalInstallArgs: ''
-
# For testing msrc's and service releases. The RuntimeSourceVersion is either "default" or the service release version to test
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- _InternalInstallArgs:
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- _HelixSource: pr/dotnet/arcade/$(Build.SourceBranch)
- - ${{ if eq(parameters.testOnly, 'true') }}:
- - _LinuxScript: $(Build.SourcesDirectory)/eng/citest.sh
- - ${{ if ne(parameters.testOnly, 'true') }}:
- - _LinuxScript: $(Build.SourcesDirectory)/eng/cibuild.sh
-
# This is only required for cross builds.
- ${{ if eq(parameters.crossrootfsDir, '') }}:
- _RootFs: ''
- _RootFs: --rootfs ${{ parameters.crossrootfsDir }}
steps:
- - ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
- - script: $(Build.SourcesDirectory)\eng\cibuild.cmd
- -configuration $(_BuildConfig)
- -architecture $(_BuildArch)
- -prepareMachine
- /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- $(_InternalInstallArgs)
- displayName: Build / Test
- condition: succeeded()
-
- ${{ if eq(parameters.osGroup, 'Linux') }}:
- ${{ if eq(parameters.testOnly, 'true') }}:
- - task: DownloadPipelineArtifact@2
- displayName: Download Linux Artifacts
+ - task: DownloadBuildArtifacts@0
+ displayName: 'Download release builds'
+ inputs:
+ downloadPath: '$(Build.ArtifactStagingDirectory)/__download__'
+ downloadType: specific
+ itemPattern: |
+ Build_$(_BuildConfig)/bin/Linux.$(_BuildArch).$(_BuildConfig)/**
+ checkDownloadedFiles: true
+ - task: CopyFiles@2
+ displayName: 'Binplace Product'
inputs:
- artifactName: $(_PortableLinuxBuild)
- targetPath: '$(Build.SourcesDirectory)/artifacts/bin/Linux.$(_BuildArch).$(_BuildConfig)'
- condition: succeeded()
-
- - script: $(Build.SourcesDirectory)/eng/docker-build.sh
- --docker-image $(_DockerImageName)
- --source-directory $(Build.SourcesDirectory)
- --container-name diagnostics-$(Build.BuildId)
- $(_LinuxScript) $(_RootFs)
- --configuration $(_BuildConfig)
- --architecture $(_BuildArch)
- --prepareMachine
- /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- /p:BUILD_BUILDNUMBER=$(BUILD.BUILDNUMBER)
- $(_InternalInstallArgs)
- displayName: Docker Build / Test
- condition: succeeded()
-
- - ${{ if eq(parameters.osGroup, 'MacOS') }}:
- - script: $(Build.SourcesDirectory)/eng/cibuild.sh
- --configuration $(_BuildConfig)
- --architecture $(_BuildArch)
- --prepareMachine
- /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- $(_InternalInstallArgs)
- displayName: Build / Test
- condition: succeeded()
+ sourceFolder: $(Build.ArtifactStagingDirectory)/__download__/Build_$(_BuildConfig)/bin/Linux.$(_BuildArch).$(_BuildConfig)
+ targetFolder: '$(Build.SourcesDirectory)/artifacts/bin/Linux.$(_BuildArch).$(_BuildConfig)'
- ${{ if eq(parameters.osGroup, 'MacOS_cross') }}:
- script: /bin/bash -c "sudo xcode-select -s /Applications/Xcode_12.2.app/Contents/Developer"
- - script: $(Build.SourcesDirectory)/eng/build.sh
- --restore
- --ci
- --stripsymbols
- --configuration $(_BuildConfig)
- --architecture $(_BuildArch)
- --prepareMachine
- /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
- $(_InternalInstallArgs)
- displayName: Build / Test
- condition: succeeded()
+
+ - script: $(_dockerEnv) $(_buildScript)
+ -configuration $(_BuildConfig)
+ -architecture $(_BuildArch)
+ $(_TestArgs)
+ $(_RootFs)
+ /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
+ $(_InternalInstallArgs)
+ displayName: Build / Test
+ condition: succeeded()
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: CopyFiles@2
+ displayName: Gather binaries for publish to artifacts
+ inputs:
+ SourceFolder: '$(Build.SourcesDirectory)/artifacts/$(_PublishArtifacts)'
+ Contents: '**'
+ TargetFolder: $(Build.ArtifactStagingDirectory)/artifacts/${{ coalesce(parameters.artifactsTargetPath, '$(_PublishArtifacts)') }}
+ condition: ne(variables['_PublishArtifacts'], '')
- task: PublishBuildArtifacts@1
displayName: Publish Build Artifacts
inputs:
- pathtoPublish: '$(Build.SourcesDirectory)/artifacts/$(_PublishArtifacts)'
- artifactName: $(_PhaseName)_$(_BuildArch)_$(_BuildConfig)
+ pathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts'
+ artifactName: Build_$(_BuildConfig)
condition: ne(variables['_PublishArtifacts'], '')
- task: PublishBuildArtifacts@1
ArtifactName: Logs_$(_PhaseName)_$(_BuildArch)_$(_BuildConfig)
continueOnError: true
condition: always()
-
- # Publish test results to Azure Pipelines
- - task: PublishTestResults@2
- inputs:
- testResultsFormat: xUnit
- testResultsFiles: '**/*UnitTests*.xml'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults'
- failTaskOnFailedTests: true
- testRunTitle: 'Tests $(_PhaseName) $(_BuildArch) $(_BuildConfig)'
- publishRunAttachments: true
- mergeTestResults: true
- buildConfiguration: ${{ parameters.name }}
- continueOnError: true
- condition: ne(variables['_BuildOnly'], 'true')
+
+ - ${{ if eq(parameters.buildAndSkipTest, 'false') }}:
+ # Publish test results to Azure Pipelines
+ - task: PublishTestResults@2
+ inputs:
+ testResultsFormat: xUnit
+ testResultsFiles: '**/*UnitTests*.xml'
+ searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults'
+ failTaskOnFailedTests: true
+ testRunTitle: 'Tests $(_PhaseName) $(_BuildArch) $(_BuildConfig)'
+ publishRunAttachments: true
+ mergeTestResults: true
+ buildConfiguration: ${{ parameters.name }}
+ continueOnError: true
+ condition: ne(variables['_BuildOnly'], 'true')
fi
fi
-"$scriptroot/build.sh" --restore --test --ci --stripsymbols $@
+"$scriptroot/build.sh" --restore --prepareMachine --ci --stripsymbols $@
if [[ $? != 0 ]]; then
exit 1
fi
+++ /dev/null
-#!/usr/bin/env bash
-# Copyright (c) .NET Foundation and contributors. All rights reserved.
-# Licensed under the MIT license. See LICENSE file in the project root for full license information.
-
-source="${BASH_SOURCE[0]}"
-
-# resolve $SOURCE until the file is no longer a symlink
-while [[ -h $source ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
-
- # if $source was a relative symlink, we need to resolve it relative to the path where
- # the symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-# Fix any CI lab docker image problems
-
-__osname=$(uname -s)
-if [ "$__osname" == "Linux" ]; then
- if [ -e /etc/os-release ]; then
- source /etc/os-release
- if [[ $ID == "ubuntu" ]]; then
- if [[ $VERSION_ID == "18.04" ]]; then
- # Fix the CI lab's ubuntu 18.04 docker image: install curl.
- sudo apt-get update
- sudo apt-get install -y curl
- fi
- fi
- elif [ -e /etc/redhat-release ]; then
- __redhatRelease=$(</etc/redhat-release)
- if [[ $__redhatRelease == "CentOS release 6."* || $__redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
- source scl_source enable python27 devtoolset-2
- fi
- fi
-fi
-
-# Restore and build just the managed components (test infrastructure)
-"$scriptroot/build.sh" --restore --skipnative --test --ci $@
-if [[ $? != 0 ]]; then
- exit 1
-fi
done
echo "Initialize Docker Container"
-docker_bin=$(which docker)
+if command -v docker > /dev/null; then
+ docker_bin=$(command -v docker)
+else
+ echo "Unable to find docker"
+ exit 1
+fi
+
$docker_bin --version
# Get user id
$docker_bin network create vsts_network_$docker_container_name
# Create and start container
-docker_id="$($docker_bin create -it --rm --privileged --ulimit core=-1 \
+docker_id="$($docker_bin create -it --rm --security-opt seccomp=unconfined --ulimit core=-1 \
--name vsts_container_$docker_container_name \
--network=vsts_network_$docker_container_name \
--volume $source_directory:$source_directory \
$docker_bin network rm vsts_network_$docker_container_name
exit $lasterrorcode
-
+++ /dev/null
-#!/usr/bin/perl
-
-#
-# ./cleanup-docker.sh
-#
-
-printf "Cleaning up containers\n";
-printf "----------------------\n";
-my $psList = `docker ps -a`;
-my @psItems = split /\n/, $psList;
-foreach(@psItems) {
- # match 'docker ps' output to capture the container name
- if($_ =~ /.*\s+([^\s]+)$/ig) {
- my $containerName = $1;
- if($containerName !~ /NAME/ig) {
- printf "delete $containerName\n";
- my $deleteOutput = `docker rm -f $1`;
- print "$deleteOutput\n";
- }
- }
-}
-
-printf "Cleaning up volumes\n";
-printf "-------------------\n";
-my $volumeList = `docker volume ls`;
-@volumeItems = split /\n/, $volumeList;
-foreach(@volumeItems) {
- # match 'docker volume ls' output to capture the volume name
- if($_ =~ /([^\s]+)\s+([^\s]+)$/ig) {
- my $volumeName = $2;
- if($volumeName !~ /NAME/ig) {
- printf "delete $volumeName\n";
- my $deleteVolumeOutput = `docker volume rm -f $volumeName`;
- printf "$deleteVolumeOutput\n";
- }
- }
-}
-
-printf "Cleaning up images\n";
-printf "------------------\n";
-my $imageList = `docker images`;
-@imageItems = split /\n/, $imageList;
-foreach(@imageItems) {
- # match 'docker images' output to capture the image id
- if($_ =~ /([^\s]+)\s+([^\s]+)\s+([^\s]+)\s+.*/ig) {
- my $imageId = $3;
- if($imageId !~ /IMAGE/ig) {
- my $imageRepo = $1;
- my $imageTag = $2;
- printf "delete $imageId ($imageRepo:$imageTag)\n";
- my $deleteImageOutput = `docker rmi -f $imageId`;
- printf "$deleteImageOutput\n";
- }
- }
-}
<RuntimeFrameworkVersion>$(RuntimeVersionLatest)</RuntimeFrameworkVersion>
<SetHostRuntime>$(DotNetRoot)/shared/Microsoft.NETCore.App/$(RuntimeFrameworkVersion)</SetHostRuntime>
</Option>
- <Option Condition="'$(RuntimeVersion50)' != ''">
+ <!-- <Option Condition="'$(RuntimeVersion50)' != ''">
<BuildProjectFramework>net5.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion50)</RuntimeFrameworkVersion>
- </Option>
+ </Option> -->
<Option Condition="'$(RuntimeVersion31)' != ''">
<BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
</Option>
</Options>
</Option>
- <Option Condition="'$(RuntimeVersion50)' != ''">
+ <!-- <Option Condition="'$(RuntimeVersion50)' != ''">
<BuildProjectFramework>net5.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion50)</RuntimeFrameworkVersion>
- </Option>
+ </Option> -->
<Option Condition="'$(RuntimeVersion31)' != ''">
<BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
<RuntimeFrameworkVersion>$(RuntimeVersionLatest)</RuntimeFrameworkVersion>
<FrameworkVersion>$(AspNetCoreVersionLatest)</FrameworkVersion>
</Option>
- <Option Condition="'$(AspNetCoreVersion50)' != ''">
+ <!-- <Option Condition="'$(AspNetCoreVersion50)' != ''">
<BuildProjectFramework>net5.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion50)</RuntimeFrameworkVersion>
<FrameworkVersion>$(AspNetCoreVersion50)</FrameworkVersion>
- </Option>
+ </Option> -->
<Option Condition="'$(AspNetCoreVersion31)' != ''">
<BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
<RuntimeFrameworkVersion>$(RuntimeVersionLatest)</RuntimeFrameworkVersion>
<SetHostRuntime>$(DotNetRoot)/shared/Microsoft.NETCore.App/$(RuntimeFrameworkVersion)</SetHostRuntime>
</Option>
- <Option Condition="'$(RuntimeVersion50)' != ''">
+ <!-- <Option Condition="'$(RuntimeVersion50)' != ''">
<BuildProjectFramework>net5.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion50)</RuntimeFrameworkVersion>
- </Option>
+ </Option> -->
<Option Condition="'$(RuntimeVersion31)' != ''">
<BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
VERIFY:.*\s+<HEXVAL>\s+<HEXVAL>\s+\[DEFAULT\] Void SymbolTestApp\.Program\.Main\(.*\)\s+\(.*\)\s+
VERIFY:.*\s+Stack walk complete.\s+
-ENDIF:NETCORE_OR_DOTNETDUMP
# Verify DumpStackObjects works
SOSCOMMAND:DumpStackObjects
VERIFY:.*\s+<HEXVAL>\s+<HEXVAL>\s+System\.String.*
VERIFY:.*\s+<HEXVAL>\s+<HEXVAL>\s+System\.String\[\].*
+ENDIF:NETCORE_OR_DOTNETDUMP
ENDIF:ALPINE
!IFDEF:DOTNETDUMP