Merge branch 'release/6.0.3xx' into main
This commit is contained in:
commit
3087490b26
11 changed files with 410 additions and 308 deletions
|
@ -0,0 +1,203 @@
|
||||||
|
# Builds a source-build tarball
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
# Architecture to build
|
||||||
|
architecture:
|
||||||
|
|
||||||
|
# Custom condition to apply to the job
|
||||||
|
condition:
|
||||||
|
|
||||||
|
# Dependent jobs that must be completed before this job will run
|
||||||
|
dependsOn:
|
||||||
|
|
||||||
|
# Skip running the SDK content smoke-tests
|
||||||
|
excludeSdkContentTests: false
|
||||||
|
|
||||||
|
# Resource id of the installer build to retrieve source/product tarball's from
|
||||||
|
installerBuildResourceId:
|
||||||
|
|
||||||
|
# Matrix to run jobs over
|
||||||
|
matrix:
|
||||||
|
|
||||||
|
# Job name
|
||||||
|
name:
|
||||||
|
|
||||||
|
# Agent pool to use
|
||||||
|
pool:
|
||||||
|
|
||||||
|
# Build using the previous source-build artifacts
|
||||||
|
usePreviousArtifacts: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: ${{ parameters.name }}
|
||||||
|
condition: ${{ parameters.condition }}
|
||||||
|
dependsOn: ${{ parameters.dependsOn }}
|
||||||
|
pool: ${{ parameters.pool }}
|
||||||
|
strategy:
|
||||||
|
matrix: ${{ parameters.matrix }}
|
||||||
|
timeoutInMinutes: 300
|
||||||
|
variables:
|
||||||
|
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||||
|
- group: AzureDevOps-Artifact-Feeds-Pats
|
||||||
|
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}:
|
||||||
|
- name: additionalBuildArgs
|
||||||
|
value: --with-sdk /tarball/.dotnet
|
||||||
|
- name: tarballDir
|
||||||
|
value: $(Build.StagingDirectory)/tarball
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
|
clean: true
|
||||||
|
|
||||||
|
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Setup Private Feeds Credentials
|
||||||
|
inputs:
|
||||||
|
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||||
|
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||||
|
env:
|
||||||
|
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||||
|
|
||||||
|
- download: ${{ parameters.installerBuildResourceId }}
|
||||||
|
artifact: BlobArtifacts
|
||||||
|
patterns: '**/dotnet-sdk-source*.tar.gz'
|
||||||
|
displayName: Download Source Tarball
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.excludeSdkContentTests, 'true') }}:
|
||||||
|
- download: ${{ parameters.installerBuildResourceId }}
|
||||||
|
artifact: BlobArtifacts
|
||||||
|
patterns: '**/dotnet-sdk-!(*-*)-linux-${{ parameters.architecture }}.tar.gz'
|
||||||
|
displayName: Download MSFT sdk Tarball
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}:
|
||||||
|
- download: current
|
||||||
|
artifact: $(_PreviousSourceBuildArtifact)
|
||||||
|
patterns: '*.tar.gz'
|
||||||
|
displayName: Download Previous Source Build Artifacts
|
||||||
|
|
||||||
|
- task: CopyFiles@2
|
||||||
|
displayName: Copy Previous Source Build Artifacts
|
||||||
|
inputs:
|
||||||
|
SourceFolder: $(PIPELINE.WORKSPACE)/$(_PreviousSourceBuildArtifact)
|
||||||
|
Contents: '*.tar.gz'
|
||||||
|
TargetFolder: $(tarballDir)/packages/archive/
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -x
|
||||||
|
|
||||||
|
resourceIdPathSegment=
|
||||||
|
if [[ '${{ parameters.installerBuildResourceId }}' != 'current' ]]; then
|
||||||
|
resourceIdPathSegment='${{ parameters.installerBuildResourceId }}/'
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$(tarballDir)"
|
||||||
|
tarballFilePath="$(PIPELINE.WORKSPACE)/${resourceIdPathSegment}BlobArtifacts/dotnet-sdk-source*.tar.gz"
|
||||||
|
eval tar -ozxf "$tarballFilePath" -C "$(tarballDir)"
|
||||||
|
eval rm -f "$tarballFilePath"
|
||||||
|
displayName: Extract Tarball
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -x
|
||||||
|
|
||||||
|
if [[ '${{ parameters.usePreviousArtifacts }}' != 'true' ]]; then
|
||||||
|
customPrepArgs=
|
||||||
|
if [[ '$(_BootstrapPrep)' == 'true' ]]; then
|
||||||
|
customPrepArgs='--bootstrap'
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker run --rm -v $(tarballDir):/tarball -w /tarball $(_Container) ./prep.sh ${customPrepArgs}
|
||||||
|
else
|
||||||
|
mkdir $(tarballDir)/.dotnet
|
||||||
|
tarballFilePath="$(tarballDir)/packages/archive/dotnet-sdk-*.tar.gz"
|
||||||
|
eval tar -ozxf "$tarballFilePath" -C "$(tarballDir)/.dotnet"
|
||||||
|
eval rm -f "$tarballFilePath"
|
||||||
|
fi
|
||||||
|
displayName: Prep Tarball
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -x
|
||||||
|
df -h
|
||||||
|
|
||||||
|
networkArgs=
|
||||||
|
customBuildArgs=
|
||||||
|
if [[ '$(_RunOnline)' == 'true' ]]; then
|
||||||
|
customBuildArgs='--online'
|
||||||
|
else
|
||||||
|
networkArgs='--network none'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ '$(_EnablePoison)' == 'true' ]]; then
|
||||||
|
customBuildArgs="$customBuildArgs --poison"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker run --rm -v $(tarballDir):/tarball -w /tarball ${networkArgs} $(_Container) ./build.sh ${customBuildArgs} $(additionalBuildArgs) -- /p:CleanWhileBuilding=true
|
||||||
|
displayName: Build Tarball
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -x
|
||||||
|
|
||||||
|
# Use installer repo's NuGet.config during online testing to utilize internal feeds
|
||||||
|
rm -f $(tarballDir)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
|
||||||
|
cp $(Build.SourcesDirectory)/NuGet.config $(tarballDir)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
|
||||||
|
|
||||||
|
dockerVolumeArgs="-v $(tarballDir):/tarball"
|
||||||
|
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=$(_ExcludeOmniSharpTests) -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true"
|
||||||
|
poisonArg=''
|
||||||
|
|
||||||
|
if [[ '${{ parameters.excludeSdkContentTests}}' != 'true' && '${{ parameters.installerBuildResourceId }}' != 'current' ]]; then
|
||||||
|
dockerVolumeArgs+=" -v $(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/:/BlobArtifacts"
|
||||||
|
msftSdkTarballName=$(find "$(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/" -name "dotnet-sdk-*-linux-${{ parameters.architecture }}.tar.gz" -exec basename {} \;)
|
||||||
|
dockerEnvArgs+=" -e SMOKE_TESTS_MSFT_SDK_TARBALL_PATH=/BlobArtifacts/$msftSdkTarballName"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ '$(_EnablePoison)' == 'true' ]]; then
|
||||||
|
poisonArg='--poison'
|
||||||
|
dockerEnvArgs+=" -e SMOKE_TESTS_WARN_POISON_DIFFS=true"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker run --rm $dockerVolumeArgs -w /tarball $dockerEnvArgs $(_Container) ./build.sh $poisonArg --run-smoke-test $(additionalBuildArgs) -- /p:SmokeTestConsoleVerbosity=detailed
|
||||||
|
displayName: Run Tests
|
||||||
|
|
||||||
|
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
||||||
|
- script: |
|
||||||
|
set -x
|
||||||
|
|
||||||
|
targetFolder=$(Build.StagingDirectory)/BuildLogs/
|
||||||
|
mkdir -p ${targetFolder}
|
||||||
|
|
||||||
|
cd "$(tarballDir)"
|
||||||
|
find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||||
|
find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||||
|
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
|
||||||
|
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||||
|
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
||||||
|
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
||||||
|
displayName: Prepare BuildLogs staging directory
|
||||||
|
continueOnError: true
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
|
- publish: '$(Build.StagingDirectory)/BuildLogs'
|
||||||
|
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
|
||||||
|
displayName: Publish BuildLogs
|
||||||
|
continueOnError: true
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
|
- task: PublishTestResults@2
|
||||||
|
displayName: Publish Test Results
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
continueOnError: true
|
||||||
|
inputs:
|
||||||
|
testRunner: vSTest
|
||||||
|
testResultsFiles: 'test/**/*.trx'
|
||||||
|
searchFolder: $(tarballDir)
|
||||||
|
mergeTestResults: true
|
||||||
|
publishRunAttachments: true
|
||||||
|
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
|
||||||
|
|
||||||
|
- publish: '$(tarballDir)/artifacts/${{ parameters.architecture}}/Release/'
|
||||||
|
artifact: $(Agent.JobName)_Artifacts
|
||||||
|
displayName: Publish Artifacts
|
||||||
|
condition: succeededOrFailed()
|
||||||
|
continueOnError: true
|
|
@ -12,170 +12,113 @@ parameters:
|
||||||
|
|
||||||
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
||||||
# -----------------------------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------------------------
|
||||||
buildJobTimeout: 300
|
|
||||||
centOS7Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build-20210714125450-5d87b80
|
centOS7Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build-20210714125450-5d87b80
|
||||||
centOS8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-source-build-20211118190102-9355e7b
|
centOS8Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-8-source-build-20211118190102-9355e7b
|
||||||
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c
|
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9-20220107135047-4cd394c
|
||||||
debian9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch-20211001171226-047508b
|
debian9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch-20211001171226-047508b
|
||||||
|
debian9Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-9-arm64v8-20220405201138-a251961
|
||||||
fedora33Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2
|
fedora33Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2
|
||||||
ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-20210924170306-047508b
|
ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-20210924170306-047508b
|
||||||
poolInternal:
|
poolInternalAmd64:
|
||||||
name: NetCore1ESPool-Svc-Internal
|
name: NetCore1ESPool-Svc-Internal
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||||
poolPublic:
|
poolInternalArm64:
|
||||||
|
name: Docker-Linux-Arm-Internal
|
||||||
|
poolPublicAmd64:
|
||||||
name: NetCore1ESPool-Svc-Public
|
name: NetCore1ESPool-Svc-Public
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||||
tarballDir: $(Build.StagingDirectory)/tarball
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: Build_Tarball
|
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
||||||
|
parameters:
|
||||||
|
architecture: x64
|
||||||
condition: ${{ parameters.condition }}
|
condition: ${{ parameters.condition }}
|
||||||
displayName: Build Tarball
|
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
dependsOn: ${{ parameters.dependsOn }}
|
||||||
pool:
|
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
|
||||||
${{ parameters.poolPublic }}
|
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
|
||||||
${{ parameters.poolInternal }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
matrix:
|
||||||
CentOS7-Online:
|
CentOS7-Online:
|
||||||
_BootstrapPrep: false
|
_BootstrapPrep: false
|
||||||
_BuildArch: x64
|
|
||||||
_Container: ${{ parameters.centOS7Container }}
|
_Container: ${{ parameters.centOS7Container }}
|
||||||
_EnablePoison: false
|
_EnablePoison: false
|
||||||
_ExcludeOmniSharpTests: true
|
_ExcludeOmniSharpTests: true
|
||||||
_Platform: linux
|
|
||||||
_RunOnline: true
|
_RunOnline: true
|
||||||
CentOS7-Offline:
|
CentOS7-Offline:
|
||||||
_BootstrapPrep: false
|
_BootstrapPrep: false
|
||||||
_BuildArch: x64
|
|
||||||
_Container: ${{ parameters.centOS7Container }}
|
_Container: ${{ parameters.centOS7Container }}
|
||||||
_EnablePoison: false
|
_EnablePoison: false
|
||||||
_ExcludeOmniSharpTests: true
|
_ExcludeOmniSharpTests: true
|
||||||
_Platform: linux
|
|
||||||
_RunOnline: false
|
_RunOnline: false
|
||||||
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||||
CentOS8-Offline:
|
CentOS8-Offline:
|
||||||
_BootstrapPrep: false
|
_BootstrapPrep: false
|
||||||
_BuildArch: x64
|
|
||||||
_Container: ${{ parameters.centOS8Container }}
|
_Container: ${{ parameters.centOS8Container }}
|
||||||
_EnablePoison: false
|
_EnablePoison: false
|
||||||
_ExcludeOmniSharpTests: false
|
_ExcludeOmniSharpTests: false
|
||||||
_Platform: linux
|
|
||||||
_RunOnline: false
|
_RunOnline: false
|
||||||
CentOSStream9-Offline:
|
CentOSStream9-Offline:
|
||||||
_BootstrapPrep: false
|
_BootstrapPrep: false
|
||||||
_BuildArch: x64
|
|
||||||
_Container: ${{ parameters.centOSStream9Container }}
|
_Container: ${{ parameters.centOSStream9Container }}
|
||||||
_EnablePoison: false
|
_EnablePoison: false
|
||||||
_ExcludeOmniSharpTests: false
|
_ExcludeOmniSharpTests: false
|
||||||
_Platform: linux
|
|
||||||
_RunOnline: false
|
_RunOnline: false
|
||||||
Fedora33-Offline:
|
Fedora33-Offline:
|
||||||
_BootstrapPrep: false
|
_BootstrapPrep: false
|
||||||
_BuildArch: x64
|
|
||||||
_Container: ${{ parameters.fedora33Container }}
|
_Container: ${{ parameters.fedora33Container }}
|
||||||
_EnablePoison: true
|
_EnablePoison: true
|
||||||
_ExcludeOmniSharpTests: false
|
_ExcludeOmniSharpTests: false
|
||||||
_Platform: linux
|
|
||||||
_RunOnline: false
|
_RunOnline: false
|
||||||
Ubuntu1804-Offline:
|
Ubuntu1804-Offline:
|
||||||
_BootstrapPrep: false
|
_BootstrapPrep: false
|
||||||
_BuildArch: x64
|
|
||||||
_Container: ${{ parameters.ubuntu1804Container }}
|
_Container: ${{ parameters.ubuntu1804Container }}
|
||||||
_EnablePoison: false
|
_EnablePoison: false
|
||||||
_ExcludeOmniSharpTests: false
|
_ExcludeOmniSharpTests: false
|
||||||
_Platform: linux
|
|
||||||
_RunOnline: false
|
_RunOnline: false
|
||||||
timeoutInMinutes: ${{ parameters.buildJobTimeout }}
|
name: Build_Tarball_x64
|
||||||
variables:
|
pool:
|
||||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
${{ parameters.poolPublicAmd64 }}
|
||||||
workspace:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
clean: all
|
${{ parameters.poolInternalAmd64 }}
|
||||||
|
|
||||||
steps:
|
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
- checkout: self
|
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
||||||
clean: true
|
|
||||||
|
|
||||||
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
buildArch: $(_BuildArch)
|
architecture: arm64
|
||||||
container: $(_Container)
|
condition: ${{ parameters.condition }}
|
||||||
enablePoison: $(_EnablePoison)
|
dependsOn: ${{ parameters.dependsOn }}
|
||||||
excludeOmniSharpTests: $(_ExcludeOmniSharpTests)
|
|
||||||
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||||
platform: $(_Platform)
|
matrix:
|
||||||
prepScript: |
|
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||||
set -x
|
Debian9-Offline:
|
||||||
|
_BootstrapPrep: true
|
||||||
customPrepArgs=
|
_Container: ${{ parameters.debian9Arm64Container }}
|
||||||
if [[ '$(_BootstrapPrep)' == 'true' ]]; then
|
_EnablePoison: false
|
||||||
customPrepArgs='--bootstrap'
|
_ExcludeOmniSharpTests: false
|
||||||
fi
|
_RunOnline: false
|
||||||
|
name: Build_Tarball_arm64
|
||||||
docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball $(_Container) ./prep.sh ${customPrepArgs}
|
pool: ${{ parameters.poolInternalArm64 }}
|
||||||
runOnline: $(_RunOnline)
|
|
||||||
tarballDir: ${{ parameters.tarballDir }}
|
|
||||||
|
|
||||||
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||||
- job: Rebuild_Tarball
|
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
|
||||||
displayName: Rebuild Tarball With Previous
|
parameters:
|
||||||
dependsOn: Build_Tarball
|
architecture: x64
|
||||||
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status.
|
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status.
|
||||||
# The bootstrap build will shortcut if the stage 1 build failed.
|
# The bootstrap build will shortcut if the stage 1 build failed.
|
||||||
condition: and(${{ parameters.condition }}, succeededOrFailed())
|
condition: and(${{ parameters.condition }}, succeededOrFailed())
|
||||||
pool:
|
dependsOn: Build_Tarball_x64
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
excludeSdkContentTests: true
|
||||||
${{ parameters.poolPublic }}
|
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
|
||||||
${{ parameters.poolInternal }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
matrix:
|
||||||
Fedora33-Offline:
|
Fedora33-Offline:
|
||||||
_PreviousSourceBuildArtifact: Build Tarball Fedora33-Offline_Artifacts
|
_PreviousSourceBuildArtifact: Build_Tarball_x64 Fedora33-Offline_Artifacts
|
||||||
_BuildArch: x64
|
|
||||||
_Container: ${{ parameters.fedora33Container }}
|
_Container: ${{ parameters.fedora33Container }}
|
||||||
_Platform: linux
|
_EnablePoison: false
|
||||||
|
_ExcludeOmniSharpTests: false
|
||||||
_RunOnline: false
|
_RunOnline: false
|
||||||
timeoutInMinutes: ${{ parameters.buildJobTimeout }}
|
name: Build_Tarball_x64_Using_Previous
|
||||||
variables:
|
pool:
|
||||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
- group: AzureDevOps-Artifact-Feeds-Pats
|
${{ parameters.poolPublicAmd64 }}
|
||||||
workspace:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
clean: all
|
${{ parameters.poolInternalAmd64 }}
|
||||||
|
usePreviousArtifacts: true
|
||||||
steps:
|
|
||||||
- checkout: self
|
|
||||||
clean: true
|
|
||||||
|
|
||||||
- download: current
|
|
||||||
artifact: $(_PreviousSourceBuildArtifact)
|
|
||||||
patterns: '*.tar.gz'
|
|
||||||
displayName: Download Previous Source Build Artifacts
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: Copy Previous Source Build Artifacts
|
|
||||||
inputs:
|
|
||||||
SourceFolder: $(PIPELINE.WORKSPACE)/$(_PreviousSourceBuildArtifact)
|
|
||||||
Contents: '*.tar.gz'
|
|
||||||
TargetFolder: ${{ parameters.tarballDir }}/packages/archive/
|
|
||||||
|
|
||||||
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
|
|
||||||
parameters:
|
|
||||||
additionalBuildArgs: --with-sdk /tarball/.dotnet
|
|
||||||
buildArch: $(_BuildArch)
|
|
||||||
container: $(_Container)
|
|
||||||
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
|
|
||||||
isBootstrapped: true
|
|
||||||
platform: $(_Platform)
|
|
||||||
prepScript: |
|
|
||||||
set -x
|
|
||||||
|
|
||||||
mkdir ${{ parameters.tarballDir }}/.dotnet
|
|
||||||
tarballFilePath="${{ parameters.tarballDir }}/packages/archive/dotnet-sdk-*.tar.gz"
|
|
||||||
eval tar -ozxf "$tarballFilePath" -C "${{ parameters.tarballDir }}/.dotnet"
|
|
||||||
eval rm -f "$tarballFilePath"
|
|
||||||
runOnline: $(_RunOnline)
|
|
||||||
tarballDir: ${{ parameters.tarballDir }}
|
|
||||||
|
|
|
@ -1,158 +0,0 @@
|
||||||
# Steps used to build a source-build tarball
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
# Additional custom build args
|
|
||||||
additionalBuildArgs: ""
|
|
||||||
|
|
||||||
# Architecture to build
|
|
||||||
buildArch: null
|
|
||||||
|
|
||||||
# Container image to build within
|
|
||||||
container: null
|
|
||||||
|
|
||||||
# Enable the poison report
|
|
||||||
enablePoison: false
|
|
||||||
|
|
||||||
# Skip running the OmniSharp smoke-tests
|
|
||||||
excludeOmniSharpTests: false
|
|
||||||
|
|
||||||
# Resource id of the installer build to retrieve source/product tarball's from
|
|
||||||
installerBuildResourceId: null
|
|
||||||
|
|
||||||
# Whether or not this is a bootstrapped build
|
|
||||||
isBootstrapped: false
|
|
||||||
|
|
||||||
# Platform the build is running on (linux, osx, win)
|
|
||||||
platform: null
|
|
||||||
|
|
||||||
# Script logic to prep the tarball for building
|
|
||||||
prepScript: null
|
|
||||||
|
|
||||||
# Whether or not to build online
|
|
||||||
runOnline: false
|
|
||||||
|
|
||||||
# Directory to build the tarball in
|
|
||||||
tarballDir:
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Setup Private Feeds Credentials
|
|
||||||
inputs:
|
|
||||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
|
||||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
|
||||||
env:
|
|
||||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
|
||||||
|
|
||||||
- download: ${{ parameters.installerBuildResourceId }}
|
|
||||||
artifact: BlobArtifacts
|
|
||||||
patterns: '**/dotnet-sdk-source*.tar.gz'
|
|
||||||
displayName: Download Source Tarball
|
|
||||||
|
|
||||||
- download: ${{ parameters.installerBuildResourceId }}
|
|
||||||
artifact: BlobArtifacts
|
|
||||||
patterns: '**/dotnet-sdk-!(*-*)-${{ parameters.platform }}-${{ parameters.buildArch }}.tar.gz'
|
|
||||||
displayName: Download MSFT sdk Tarball
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
set -x
|
|
||||||
|
|
||||||
resourceIdPathSegment=
|
|
||||||
if [[ '${{ parameters.installerBuildResourceId }}' != 'current' ]]; then
|
|
||||||
resourceIdPathSegment='${{ parameters.installerBuildResourceId }}/'
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "${{ parameters.tarballDir }}"
|
|
||||||
tarballFilePath="$(PIPELINE.WORKSPACE)/${resourceIdPathSegment}BlobArtifacts/dotnet-sdk-source*.tar.gz"
|
|
||||||
eval tar -ozxf "$tarballFilePath" -C "${{ parameters.tarballDir }}"
|
|
||||||
eval rm -f "$tarballFilePath"
|
|
||||||
displayName: Extract Tarball
|
|
||||||
|
|
||||||
- script: ${{ parameters.prepScript }}
|
|
||||||
displayName: Prep Tarball
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
set -x
|
|
||||||
df -h
|
|
||||||
|
|
||||||
networkArgs=
|
|
||||||
customBuildArgs=
|
|
||||||
if [[ '${{ parameters.runOnline }}' == 'true' ]]; then
|
|
||||||
customBuildArgs='--online'
|
|
||||||
else
|
|
||||||
networkArgs='--network none'
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ '${{ parameters.enablePoison }}' == 'true' ]]; then
|
|
||||||
customBuildArgs="$customBuildArgs --poison"
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball ${networkArgs} ${{ parameters.container }} ./build.sh ${customBuildArgs} ${{ parameters.additionalBuildArgs }} -- /p:CleanWhileBuilding=true
|
|
||||||
displayName: Build Tarball
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# Use installer repo's NuGet.config during online testing to utilize internal feeds
|
|
||||||
rm -f ${{ parameters.tarballDir }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
|
|
||||||
cp $(Build.SourcesDirectory)/NuGet.config ${{ parameters.tarballDir }}/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
|
|
||||||
|
|
||||||
dockerVolumeArgs="-v ${{ parameters.tarballDir }}:/tarball"
|
|
||||||
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=${{ parameters.excludeOmniSharpTests}} -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true"
|
|
||||||
poisonArg=''
|
|
||||||
|
|
||||||
if [[ '${{ parameters.isBootstrapped }}' != 'true' && '${{ parameters.installerBuildResourceId }}' != 'current' ]]; then
|
|
||||||
dockerVolumeArgs+=" -v $(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/:/BlobArtifacts"
|
|
||||||
msftSdkTarballName=$(find "$(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/" -name "dotnet-sdk-*-${{ parameters.Platform }}-${{ parameters.buildArch }}.tar.gz" -exec basename {} \;)
|
|
||||||
dockerEnvArgs+=" -e SMOKE_TESTS_MSFT_SDK_TARBALL_PATH=/BlobArtifacts/$msftSdkTarballName"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ '${{ parameters.enablePoison }}' == 'true' ]]; then
|
|
||||||
poisonArg='--poison'
|
|
||||||
dockerEnvArgs+=" -e SMOKE_TESTS_WARN_POISON_DIFFS=true"
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker run --rm $dockerVolumeArgs -w /tarball $dockerEnvArgs ${{ parameters.container }} ./build.sh $poisonArg --run-smoke-test ${{ parameters.additionalBuildArgs }} -- /p:SmokeTestConsoleVerbosity=detailed
|
|
||||||
displayName: Run Tests
|
|
||||||
|
|
||||||
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
|
|
||||||
- script: |
|
|
||||||
set -x
|
|
||||||
|
|
||||||
targetFolder=$(Build.StagingDirectory)/BuildLogs/
|
|
||||||
mkdir -p ${targetFolder}
|
|
||||||
|
|
||||||
cd "${{ parameters.tarballDir }}"
|
|
||||||
find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
|
|
||||||
displayName: Prepare BuildLogs staging directory
|
|
||||||
continueOnError: true
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
|
|
||||||
- publish: '$(Build.StagingDirectory)/BuildLogs'
|
|
||||||
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
|
|
||||||
displayName: Publish BuildLogs
|
|
||||||
continueOnError: true
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
|
||||||
displayName: Publish Test Results
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
continueOnError: true
|
|
||||||
inputs:
|
|
||||||
testRunner: vSTest
|
|
||||||
testResultsFiles: 'test/**/*.trx'
|
|
||||||
searchFolder: ${{ parameters.tarballDir }}
|
|
||||||
mergeTestResults: true
|
|
||||||
publishRunAttachments: true
|
|
||||||
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
|
|
||||||
|
|
||||||
- publish: '${{ parameters.tarballDir }}/artifacts/${{ parameters.buildArch}}/Release/'
|
|
||||||
artifact: $(Agent.JobName)_Artifacts
|
|
||||||
displayName: Publish Artifacts
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
continueOnError: true
|
|
|
@ -11,10 +11,6 @@
|
||||||
should be added to source-build-reference-packages.
|
should be added to source-build-reference-packages.
|
||||||
-->
|
-->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageDownload Include="Microsoft.DotNet.Web.ItemTemplates.6.0" Version="[$(AspNetCorePackageVersionFor60Templates)]" />
|
|
||||||
<PackageDownload Include="Microsoft.DotNet.Web.ProjectTemplates.6.0" Version="[$(AspNetCorePackageVersionFor60Templates)]" />
|
|
||||||
<PackageDownload Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.6.0" Version="[$(AspNetCorePackageVersionFor60Templates)]" />
|
|
||||||
|
|
||||||
<PackageDownload Include="Microsoft.NET.Sdk.Android.Manifest-6.0.200" Version="[$(XamarinAndroidWorkloadManifestVersion)]" />
|
<PackageDownload Include="Microsoft.NET.Sdk.Android.Manifest-6.0.200" Version="[$(XamarinAndroidWorkloadManifestVersion)]" />
|
||||||
<PackageDownload Include="Microsoft.NET.Sdk.iOS.Manifest-6.0.200" Version="[$(XamarinIOSWorkloadManifestVersion)]" />
|
<PackageDownload Include="Microsoft.NET.Sdk.iOS.Manifest-6.0.200" Version="[$(XamarinIOSWorkloadManifestVersion)]" />
|
||||||
<PackageDownload Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.200" Version="[$(XamarinMacCatalystWorkloadManifestVersion)]" />
|
<PackageDownload Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.200" Version="[$(XamarinMacCatalystWorkloadManifestVersion)]" />
|
||||||
|
|
|
@ -177,13 +177,12 @@
|
||||||
<TargetOS Condition="'$(TargetOS)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">OSX</TargetOS>
|
<TargetOS Condition="'$(TargetOS)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">OSX</TargetOS>
|
||||||
<TargetOS Condition="'$(TargetOS)' == '' AND $([MSBuild]::IsOSPlatform('LINUX'))">Linux</TargetOS>
|
<TargetOS Condition="'$(TargetOS)' == '' AND $([MSBuild]::IsOSPlatform('LINUX'))">Linux</TargetOS>
|
||||||
<TargetOS Condition="'$(TargetOS)' == '' AND $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</TargetOS>
|
<TargetOS Condition="'$(TargetOS)' == '' AND $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</TargetOS>
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(PortableBuild)' == 'true'">
|
<PortableRid Condition="'$(TargetOS)' == 'FreeBSD'">freebsd-$(Platform)</PortableRid>
|
||||||
<TargetRid Condition="'$(TargetOS)' == 'FreeBSD'">freebsd-$(Platform)</TargetRid>
|
<PortableRid Condition="'$(TargetOS)' == 'OSX'">osx-$(Platform)</PortableRid>
|
||||||
<TargetRid Condition="'$(TargetOS)' == 'OSX'">osx-$(Platform)</TargetRid>
|
<PortableRid Condition="'$(TargetOS)' == 'Linux'">linux-$(Platform)</PortableRid>
|
||||||
<TargetRid Condition="'$(TargetOS)' == 'Linux'">linux-$(Platform)</TargetRid>
|
<PortableRid Condition="'$(TargetOS)' == 'Windows_NT'">win-$(Platform)</PortableRid>
|
||||||
<TargetRid Condition="'$(TargetOS)' == 'Windows_NT'">win-$(Platform)</TargetRid>
|
<TargetRid Condition="'$(PortableBuild)' == 'true' AND '$(PortableRid)' != ''">$(PortableRid)</TargetRid>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|
|
@ -106,6 +106,7 @@
|
||||||
EnvironmentVariables="
|
EnvironmentVariables="
|
||||||
SMOKE_TESTS_SDK_TARBALL_PATH=$(SdkTarballPath);
|
SMOKE_TESTS_SDK_TARBALL_PATH=$(SdkTarballPath);
|
||||||
SMOKE_TESTS_TARGET_RID=$(TargetRid);
|
SMOKE_TESTS_TARGET_RID=$(TargetRid);
|
||||||
|
SMOKE_TESTS_PORTABLE_RID=$(PortableRid);
|
||||||
$(CustomTestEnvVars)" />
|
$(CustomTestEnvVars)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,8 @@ namespace Microsoft.DotNet.SourceBuild.SmokeTests
|
||||||
|
|
||||||
private static string GetBaselineFilePath(string baselineFileName) => Path.Combine(GetAssetsDirectory(), "baselines", baselineFileName);
|
private static string GetBaselineFilePath(string baselineFileName) => Path.Combine(GetAssetsDirectory(), "baselines", baselineFileName);
|
||||||
|
|
||||||
public static string RemoveRids(string diff) => diff.Replace(Config.TargetRid, "banana.rid");
|
public static string RemoveRids(string diff, bool isPortable = false) =>
|
||||||
|
isPortable ? diff.Replace(Config.PortableRid, "portable-rid") : diff.Replace(Config.TargetRid, "banana-rid");
|
||||||
|
|
||||||
public static string RemoveVersions(string source)
|
public static string RemoveVersions(string source)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,6 +13,7 @@ internal static class Config
|
||||||
public const string ExcludeOmniSharpEnv = "SMOKE_TESTS_EXCLUDE_OMNISHARP";
|
public const string ExcludeOmniSharpEnv = "SMOKE_TESTS_EXCLUDE_OMNISHARP";
|
||||||
public const string MsftSdkTarballPathEnv = "SMOKE_TESTS_MSFT_SDK_TARBALL_PATH";
|
public const string MsftSdkTarballPathEnv = "SMOKE_TESTS_MSFT_SDK_TARBALL_PATH";
|
||||||
public const string PoisonReportPathEnv = "SMOKE_TESTS_POISON_REPORT_PATH";
|
public const string PoisonReportPathEnv = "SMOKE_TESTS_POISON_REPORT_PATH";
|
||||||
|
public const string PortableRidEnv = "SMOKE_TESTS_PORTABLE_RID";
|
||||||
public const string PrereqsPathEnv = "SMOKE_TESTS_PREREQS_PATH";
|
public const string PrereqsPathEnv = "SMOKE_TESTS_PREREQS_PATH";
|
||||||
public const string SdkTarballPathEnv = "SMOKE_TESTS_SDK_TARBALL_PATH";
|
public const string SdkTarballPathEnv = "SMOKE_TESTS_SDK_TARBALL_PATH";
|
||||||
public const string TargetRidEnv = "SMOKE_TESTS_TARGET_RID";
|
public const string TargetRidEnv = "SMOKE_TESTS_TARGET_RID";
|
||||||
|
@ -23,6 +24,8 @@ internal static class Config
|
||||||
Environment.GetEnvironmentVariable(DotNetDirectoryEnv) ?? Path.Combine(Directory.GetCurrentDirectory(), ".dotnet");
|
Environment.GetEnvironmentVariable(DotNetDirectoryEnv) ?? Path.Combine(Directory.GetCurrentDirectory(), ".dotnet");
|
||||||
public static string? MsftSdkTarballPath { get; } = Environment.GetEnvironmentVariable(MsftSdkTarballPathEnv);
|
public static string? MsftSdkTarballPath { get; } = Environment.GetEnvironmentVariable(MsftSdkTarballPathEnv);
|
||||||
public static string? PoisonReportPath { get; } = Environment.GetEnvironmentVariable(PoisonReportPathEnv);
|
public static string? PoisonReportPath { get; } = Environment.GetEnvironmentVariable(PoisonReportPathEnv);
|
||||||
|
public static string PortableRid { get; } = Environment.GetEnvironmentVariable(PortableRidEnv) ??
|
||||||
|
throw new InvalidOperationException($"'{Config.PortableRidEnv}' must be specified");
|
||||||
public static string? PrereqsPath { get; } = Environment.GetEnvironmentVariable(PrereqsPathEnv);
|
public static string? PrereqsPath { get; } = Environment.GetEnvironmentVariable(PrereqsPathEnv);
|
||||||
public static string? SdkTarballPath { get; } = Environment.GetEnvironmentVariable(SdkTarballPathEnv);
|
public static string? SdkTarballPath { get; } = Environment.GetEnvironmentVariable(SdkTarballPathEnv);
|
||||||
public static string TargetRid { get; } = Environment.GetEnvironmentVariable(TargetRidEnv) ??
|
public static string TargetRid { get; } = Environment.GetEnvironmentVariable(TargetRidEnv) ??
|
||||||
|
|
|
@ -27,17 +27,16 @@ public class SdkContentTests : SmokeTests
|
||||||
{
|
{
|
||||||
const string msftFileListingFileName = "msftSdkFiles.txt";
|
const string msftFileListingFileName = "msftSdkFiles.txt";
|
||||||
const string sbFileListingFileName = "sbSdkFiles.txt";
|
const string sbFileListingFileName = "sbSdkFiles.txt";
|
||||||
WriteTarballFileList(Config.MsftSdkTarballPath, msftFileListingFileName);
|
WriteTarballFileList(Config.MsftSdkTarballPath, msftFileListingFileName, isPortable: true);
|
||||||
WriteTarballFileList(Config.SdkTarballPath, sbFileListingFileName);
|
WriteTarballFileList(Config.SdkTarballPath, sbFileListingFileName, isPortable: false);
|
||||||
|
|
||||||
string diff = BaselineHelper.DiffFiles(msftFileListingFileName, sbFileListingFileName, OutputHelper);
|
string diff = BaselineHelper.DiffFiles(msftFileListingFileName, sbFileListingFileName, OutputHelper);
|
||||||
diff = BaselineHelper.RemoveVersions(diff);
|
diff = BaselineHelper.RemoveVersions(diff);
|
||||||
diff = RemoveDiffMarkers(diff);
|
diff = RemoveDiffMarkers(diff);
|
||||||
diff = BaselineHelper.RemoveRids(diff);
|
|
||||||
BaselineHelper.CompareContents("MsftToSbSdk.diff", diff, OutputHelper, Config.WarnOnSdkContentDiffs);
|
BaselineHelper.CompareContents("MsftToSbSdk.diff", diff, OutputHelper, Config.WarnOnSdkContentDiffs);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void WriteTarballFileList(string? tarballPath, string outputFileName)
|
private void WriteTarballFileList(string? tarballPath, string outputFileName, bool isPortable)
|
||||||
{
|
{
|
||||||
if (!File.Exists(tarballPath))
|
if (!File.Exists(tarballPath))
|
||||||
{
|
{
|
||||||
|
@ -45,7 +44,9 @@ public class SdkContentTests : SmokeTests
|
||||||
}
|
}
|
||||||
|
|
||||||
string fileListing = ExecuteHelper.ExecuteProcessValidateExitCode("tar", $"tf {tarballPath}", OutputHelper);
|
string fileListing = ExecuteHelper.ExecuteProcessValidateExitCode("tar", $"tf {tarballPath}", OutputHelper);
|
||||||
|
fileListing = BaselineHelper.RemoveRids(fileListing, isPortable);
|
||||||
IEnumerable<string> files = fileListing.Split(Environment.NewLine).OrderBy(path => path);
|
IEnumerable<string> files = fileListing.Split(Environment.NewLine).OrderBy(path => path);
|
||||||
|
|
||||||
File.WriteAllLines(outputFileName, files);
|
File.WriteAllLines(outputFileName, files);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,34 +31,34 @@ index ------------
|
||||||
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.AccessControl.xml
|
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.AccessControl.xml
|
||||||
./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.dll
|
./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.dll
|
||||||
./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.xml
|
./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Security.Cryptography.Xml.xml
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/apphost
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/apphost
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/coreclr_delegates.h
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/coreclr_delegates.h
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/hostfxr.h
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/hostfxr.h
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/libnethost.a
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/libnethost.a
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/libnethost.so
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/libnethost.so
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/nethost.h
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/nethost.h
|
||||||
-./packs/Microsoft.NETCore.App.Host.linux-x64/x.y.z/runtimes/linux-x64/native/singlefilehost
|
-./packs/Microsoft.NETCore.App.Host.portable-rid/x.y.z/runtimes/portable-rid/native/singlefilehost
|
||||||
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.dll
|
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.dll
|
||||||
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.xml
|
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Encodings.Web.xml
|
||||||
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.dll
|
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.dll
|
||||||
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.xml
|
+./packs/Microsoft.AspNetCore.App.Ref/x.y.z/ref/netx.y/System.Text.Json.xml
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/apphost
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/apphost
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/coreclr_delegates.h
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/coreclr_delegates.h
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/hostfxr.h
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/hostfxr.h
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/libnethost.a
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/libnethost.a
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/libnethost.so
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/libnethost.so
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/nethost.h
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/nethost.h
|
||||||
+./packs/Microsoft.NETCore.App.Host.banana.rid/x.y.z/runtimes/banana.rid/native/singlefilehost
|
+./packs/Microsoft.NETCore.App.Host.banana-rid/x.y.z/runtimes/banana-rid/native/singlefilehost
|
||||||
./packs/Microsoft.NETCore.App.Ref/
|
./packs/Microsoft.NETCore.App.Ref/
|
||||||
./packs/Microsoft.NETCore.App.Ref/x.y.z/
|
./packs/Microsoft.NETCore.App.Ref/x.y.z/
|
||||||
./packs/Microsoft.NETCore.App.Ref/x.y.z/analyzers/
|
./packs/Microsoft.NETCore.App.Ref/x.y.z/analyzers/
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: William Godbe <wigodbe@microsoft.com>
|
||||||
|
Date: Wed, 23 Mar 2022 09:11:11 -0700
|
||||||
|
Subject: [PATCH] Revert "Revert "[release/6.0] Build ProjectTemplates in
|
||||||
|
Source-Build (#40650)" (#40805)"
|
||||||
|
|
||||||
|
This reverts commit a351c437ac7bc9f9be96de51832608438a7a37df.
|
||||||
|
---
|
||||||
|
Directory.Build.props | 3 +++
|
||||||
|
Directory.Build.targets | 9 +++++++--
|
||||||
|
.../src/Microsoft.Authentication.WebAssembly.Msal.csproj | 9 ++++++++-
|
||||||
|
...pNetCore.Components.WebAssembly.Authentication.csproj | 9 ++++++++-
|
||||||
|
4 files changed, 26 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Directory.Build.props b/Directory.Build.props
|
||||||
|
index 8f0ac59422..721f099a77 100644
|
||||||
|
--- a/Directory.Build.props
|
||||||
|
+++ b/Directory.Build.props
|
||||||
|
@@ -30,6 +30,9 @@
|
||||||
|
$(MSBuildProjectName.EndsWith('.Test')) OR
|
||||||
|
$(MSBuildProjectName.EndsWith('.FunctionalTest')) ) ">true</IsUnitTestProject>
|
||||||
|
<IsTestAssetProject Condition=" $(RepoRelativeProjectDir.Contains('testassets')) OR $(MSBuildProjectName.Contains('TestCommon'))">true</IsTestAssetProject>
|
||||||
|
+ <IsProjectTemplateProject Condition=" ($(RepoRelativeProjectDir.Contains('ProjectTemplates')) OR $(MSBuildProjectName.Contains('ProjectTemplates')) ) AND
|
||||||
|
+ '$(IsUnitTestProject)' != 'true' AND
|
||||||
|
+ '$(IsTestAssetProject)' != 'true' ">true</IsProjectTemplateProject>
|
||||||
|
<IsSampleProject Condition=" $(RepoRelativeProjectDir.ToUpperInvariant().Contains('SAMPLE')) ">true</IsSampleProject>
|
||||||
|
<IsAnalyzersProject Condition="$(MSBuildProjectName.EndsWith('.Analyzers'))">true</IsAnalyzersProject>
|
||||||
|
<IsShipping Condition=" '$(IsSampleProject)' == 'true' OR
|
||||||
|
diff --git a/Directory.Build.targets b/Directory.Build.targets
|
||||||
|
index a195c0fb2e..fd388a1176 100644
|
||||||
|
--- a/Directory.Build.targets
|
||||||
|
+++ b/Directory.Build.targets
|
||||||
|
@@ -1,10 +1,15 @@
|
||||||
|
<Project>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
- <!-- Only build Microsoft.AspNetCore.App, Microsoft.AspNetCore.App.Ref, and ref/ assemblies in source build. -->
|
||||||
|
+ <!-- Only build Microsoft.AspNetCore.App, Microsoft.AspNetCore.App.Ref, ref/ assemblies, and ProjectTemplates in source build. -->
|
||||||
|
<!-- Analyzer package are needed in source build for WebSDK -->
|
||||||
|
<ExcludeFromSourceBuild
|
||||||
|
- Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(MSBuildProjectName)' != '$(TargetingPackName)' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild>
|
||||||
|
+ Condition="'$(ExcludeFromSourceBuild)' == '' and
|
||||||
|
+ '$(DotNetBuildFromSource)' == 'true' and
|
||||||
|
+ '$(IsAspNetCoreApp)' != 'true' and
|
||||||
|
+ '$(MSBuildProjectName)' != '$(TargetingPackName)' and
|
||||||
|
+ '$(IsAnalyzersProject)' != 'true' and
|
||||||
|
+ '$(IsProjectTemplateProject)' != 'true'">true</ExcludeFromSourceBuild>
|
||||||
|
|
||||||
|
<!-- If the user has specified that they want to skip building any test related projects with SkipTestBuild,
|
||||||
|
suppress all targets for TestProjects using ExcludeFromBuild. -->
|
||||||
|
diff --git a/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj b/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj
|
||||||
|
index 8ae5d1c43d..8e0f53957e 100644
|
||||||
|
--- a/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj
|
||||||
|
+++ b/src/Components/WebAssembly/Authentication.Msal/src/Microsoft.Authentication.WebAssembly.Msal.csproj
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||||
|
|
||||||
|
- <Sdk Name="Yarn.MSBuild" />
|
||||||
|
+ <Import Project="Sdk.props" Sdk="Yarn.MSBuild" Condition=" '$(DotNetBuildFromSource)' != 'true'" />
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
||||||
|
@@ -25,6 +25,7 @@
|
||||||
|
<PropertyGroup>
|
||||||
|
<YarnWorkingDir>$(MSBuildThisFileDirectory)Interop\</YarnWorkingDir>
|
||||||
|
<ResolveStaticWebAssetsInputsDependsOn>
|
||||||
|
+ CheckForSourceBuild;
|
||||||
|
CompileInterop;
|
||||||
|
IncludeCompileInteropOutput;
|
||||||
|
$(ResolveStaticWebAssetsInputsDependsOn)
|
||||||
|
@@ -91,5 +92,11 @@
|
||||||
|
<FileWrites Include="$(_InteropBuildOutput)" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
+
|
||||||
|
+ <Target Name="CheckForSourceBuild" Condition=" '$(DotNetBuildFromSource)' == 'true'">
|
||||||
|
+ <Error Text="The Yarn.Msbuild SDK is currently excluded from SourceBuild. If you are enabling this project for SourceBuild, remove the condition on the Yarn.Msbuild SDK above." />
|
||||||
|
+ </Target>
|
||||||
|
+
|
||||||
|
+ <Import Project="Sdk.targets" Sdk="Yarn.MSBuild" Condition=" '$(DotNetBuildFromSource)' != 'true'" />
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
diff --git a/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj b/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj
|
||||||
|
index 8d6a000d74..35c79a73eb 100644
|
||||||
|
--- a/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj
|
||||||
|
+++ b/src/Components/WebAssembly/WebAssembly.Authentication/src/Microsoft.AspNetCore.Components.WebAssembly.Authentication.csproj
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||||
|
|
||||||
|
- <Sdk Name="Yarn.MSBuild" />
|
||||||
|
+ <Import Project="Sdk.props" Sdk="Yarn.MSBuild" Condition=" '$(DotNetBuildFromSource)' != 'true'" />
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
<PropertyGroup>
|
||||||
|
<YarnWorkingDir>$(MSBuildThisFileDirectory)Interop\</YarnWorkingDir>
|
||||||
|
<ResolveStaticWebAssetsInputsDependsOn>
|
||||||
|
+ CheckForSourceBuild;
|
||||||
|
CompileInterop;
|
||||||
|
IncludeCompileInteropOutput;
|
||||||
|
$(ResolveStaticWebAssetsInputsDependsOn)
|
||||||
|
@@ -93,4 +94,10 @@
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
+ <Target Name="CheckForSourceBuild" Condition=" '$(DotNetBuildFromSource)' == 'true'">
|
||||||
|
+ <Error Text="The Yarn.Msbuild SDK is currently excluded from SourceBuild. If you are enabling this project for SourceBuild, remove the condition on the Yarn.Msbuild SDK above." />
|
||||||
|
+ </Target>
|
||||||
|
+
|
||||||
|
+ <Import Project="Sdk.targets" Sdk="Yarn.MSBuild" Condition=" '$(DotNetBuildFromSource)' != 'true'" />
|
||||||
|
+
|
||||||
|
</Project>
|
Loading…
Reference in a new issue