Skip to content

Commit

Permalink
consume dotnet arcade sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
brettfo committed Mar 21, 2019
1 parent d5f5bd0 commit bb110d5
Show file tree
Hide file tree
Showing 269 changed files with 4,001 additions and 4,135 deletions.
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# output location
artifacts/

packages/

/tests/scripts/current
.dotnet/
.packages/
./tools

# Patches that may have been generated by scripts.
# (These aren't generally useful to commit directly; if anything, they should be applied.)
Expand Down
144 changes: 101 additions & 43 deletions .vsts-pr.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,48 @@
jobs:

- job: Linux
pool:
vmImage: ubuntu-16.04
timeoutInMinutes: 90
strategy:
maxParallel: 3
matrix:
dotnet_sdk:
_command: make
_args: Configuration=release
release_fcs:
_command: ./fcs/build.sh
_args: Build
coreclr_release:
_configuration: Release
_testKind: testcoreclr
steps:
- script: ./eng/cibuild.sh --configuration $(_configuration) --$(_testKind)
- task: PublishBuildArtifacts@1
displayName: Publish Build Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_configuration)'
ArtifactName: 'Linux $(_configuration) $(_testKind) build log'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'Linux $(_configuration) $(_testKind)'
publishLocation: Container
continueOnError: true
condition: not(succeeded())

- job: Linux_FCS
pool:
vmImage: ubuntu-16.04
timeoutInMinutes: 90
steps:
- script: $(_command) $(_args)
- script: ./fcs/build.sh Build
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'Linux $(_command) $(_args)'
ArtifactName: 'Linux FCS test results'
publishLocation: Container
continueOnError: true
condition: failed()
condition: not(succeeded())

- job: MacOS
pool:
Expand All @@ -29,56 +51,92 @@ jobs:
strategy:
maxParallel: 3
matrix:
dotnet_sdk:
_command: make
_args: Configuration=release
release_fcs:
_command: ./fcs/build.sh
_args: Build
coreclr_release:
_configuration: Release
_testKind: testcoreclr
steps:
- script: $(_command) $(_args)
- script: ./eng/cibuild.sh --configuration $(_configuration) --$(_testKind)
- task: PublishBuildArtifacts@1
displayName: Publish Build Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_configuration)'
ArtifactName: 'MacOS $(_configuration) $(_testKind) build log'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'MacOS $(_command) $(_args)'
ArtifactName: 'MacOS $(_configuration) $(_testKind)'
publishLocation: Container
continueOnError: true
condition: failed()
condition: not(succeeded())

- job: MacOS_FCS
pool:
vmImage: macOS-10.13
timeoutInMinutes: 90
steps:
- script: ./fcs/build.sh Build
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/TestResults'
ArtifactName: 'MacOS FCS test results'
publishLocation: Container
continueOnError: true
condition: not(succeeded())

- job: Windows
pool:
vmImage: vs2017-win2016
timeoutInMinutes: 120
strategy:
maxParallel: 7
maxParallel: 4
matrix:
ci_part1:
_command: build.cmd
_args: release ci_part1
ci_part2:
_command: build.cmd
_args: release ci_part2
ci_part3:
_command: build.cmd
_args: release ci_part3
ci_part4:
_command: build.cmd
_args: release ci_part4
debug_default:
_command: build.cmd
_args: debug
net40_no_vs:
_command: build.cmd
_args: release net40
release_fcs:
_command: fcs\build.cmd
_args: TestAndNuget
desktop_release:
_configuration: Release
_testKind: testDesktop
coreclr_release:
_configuration: Release
_testKind: testCoreclr
fsharpqa_release:
_configuration: Release
_testKind: testFSharpQA
vs_release:
_configuration: Release
_testKind: testVs
steps:
- script: eng\CIBuild.cmd -configuration $(_configuration) -$(_testKind)
- task: PublishBuildArtifacts@1
displayName: Publish Build Logs
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(_configuration)'
ArtifactName: 'Windows $(_configuration) $(_testKind) build log'
publishLocation: Container
continueOnError: true
condition: not(succeeded())
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
ArtifactName: 'Windows $(_configuration) $(_testKind) test results'
publishLocation: Container
continueOnError: true
condition: not(succeeded())

- job: Windows_FCS
pool:
vmImage: vs2017-win2016
timeoutInMinutes: 120
steps:
- script: $(_command) $(_args)
- script: fcs\build.cmd TestAndNuget
- task: PublishBuildArtifacts@1
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
ArtifactName: 'Windows $(_command) $(_args)'
ArtifactName: 'Windows FCS test results'
publishLocation: Container
continueOnError: true
condition: failed()
condition: not(succeeded())
158 changes: 65 additions & 93 deletions .vsts-signed.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
variables:
- name: PB_PublishBlobFeedUrl
value: https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
- group: DotNet-Blob-Feed
- name: PB_PublishBlobFeedKey
value: $(dotnetfeed-storage-access-key-1)
- name: SignType
value: real
- name: VisualStudioDropName
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)

jobs:
- job: Full_Signed
Expand All @@ -13,124 +13,96 @@ jobs:
variables:
BuildConfiguration: 'Release'
steps:

# Install Signing Plugin
- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1
displayName: Install Signing Plugin
inputs:
signType: real
condition: and(succeeded(), in(variables['PB_SignType'], 'test', 'real'))

# Install Swix Plugin
- task: ms-vseng.MicroBuildTasks.32f78468-e895-4f47-962c-58a699361df8.MicroBuildSwixPlugin@1
displayName: Install Swix Plugin
esrpSigning: true
condition: and(succeeded(), ne(variables['SignType'], ''))

# Run build.cmd
- task: CmdLine@1
displayName: Run build.cmd
inputs:
filename: build.cmd
arguments: microbuild
# Build
- script: eng\CIBuild.cmd
-configuration $(BuildConfiguration)
-testAll
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
/p:VisualStudioDropName=$(VisualStudioDropName)
/p:DotNetSignType=$(SignType)
/p:DotNetPublishToBlobFeed=true
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
/p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
/p:PublishToSymbolServer=true
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
displayName: Build

# Publish nightly package to MyGet
- task: PowerShell@1
displayName: Publish nightly package to MyGet
# Publish logs
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
scriptName: 'setup\publish-assets.ps1'
arguments: '-binariesPath artifacts\bin -configuration $(BuildConfiguration) -branchName $(Build.SourceBranch) -apiKey $(FSharp.MyGetApiKey)'
condition: and(succeeded(), contains(variables['PB_PublishType'], 'myget'))
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\log\$(BuildConfiguration)'
ArtifactName: 'Build Diagnostic Files'
publishLocation: Container
continueOnError: true
condition: succeededOrFailed()

# Package publish
- task: CmdLine@1
displayName: Restore package publishing
inputs:
filename: '.nuget\NuGet.exe'
arguments: 'restore packages.config -PackagesDirectory packages -Source https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json'
condition: and(succeeded(), contains(variables['PB_PublishType'], 'blob'))
- task: MSBuild@1
displayName: Publish packages to Azure Blob Storage
inputs:
solution: PublishToBlob.proj
msbuildArguments: '/t:Build /p:Configuration=$(BuildConfiguration) /p:ExpectedFeedUrl=$(PB_PublishBlobFeedUrl) /p:AccountKey=$(PB_PublishBlobFeedKey) /p:ManifestRepouri=$(Build.Repository.Uri) /p:ManifestBranch=$(Build.SourceBranch) /p:ManifestCommit=$(Build.SourceVersion) /p:ManifestBuildId=$(Build.BuildNumber) /bl:$(Build.SourcesDirectory)/artifacts/log/$(BuildConfiguration)/pub/publish.binlog'
condition: and(succeeded(), contains(variables['PB_PublishType'], 'blob'))
# Publish test results
- task: PublishBuildArtifacts@1
displayName: Publish publishing bin log
displayName: Publish Test Results
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(BuildConfiguration)/pub'
ArtifactName: 'Publish_bin_log'
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\TestResults'
ArtifactName: 'Test Results'
publishLocation: Container
continueOnError: true
condition: and(succeeded(), contains(variables['PB_PublishType'], 'blob'))
- task: CopyFiles@2
displayName: Gather Asset Manifests
condition: succeededOrFailed()

# Upload VSTS Drop
- task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
displayName: Upload VSTS Drop
inputs:
SourceFolder: '$(Build.SourcesDirectory)/artifacts/log/$(BuildConfiguration)/AssetManifest'
TargetFolder: '$(Build.StagingDirectory)/AssetManifests'
continueOnError: true
condition: and(succeeded(), contains(variables['PB_PublishType'], 'blob'))
DropName: $(VisualStudioDropName)
DropFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
condition: succeeded()

# Publish an artifact that the RoslynInsertionTool is able to find by its name.
- task: PublishBuildArtifacts@1
displayName: Push Asset Manifests
displayName: Publish Artifact VSSetup
inputs:
PathtoPublish: '$(Build.StagingDirectory)/AssetManifests'
PublishLocation: Container
ArtifactName: AssetManifests
continueOnError: true
condition: and(succeeded(), contains(variables['PB_PublishType'], 'blob'))
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
ArtifactName: 'VSSetup'
condition: succeeded()

# Create static drop
# Archive NuGet packages to DevOps.
- task: PublishBuildArtifacts@1
displayName: Create static drop
displayName: Publish Artifact Packages
inputs:
PathtoPublish: 'artifacts'
ArtifactName: '$(Build.BuildNumber)'
publishLocation: FilePath
TargetPath: '$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)'
Parallel: true
ParallelCount: 64
condition: and(succeeded(), contains(variables['PB_PublishType'], 'drop'))
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\packages\$(BuildConfiguration)'
ArtifactName: 'Packages'
condition: succeeded()

# Publish symbols
- task: PublishSymbols@1
displayName: Publish symbols
# Publish nightly package to MyGet
- task: PowerShell@1
displayName: Publish nightly package to MyGet
inputs:
SymbolsPath: '$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)\$(Build.BuildNumber)\Symbols'
SearchPattern: '**\*.dll;**\*.exe;**\*.pdb'
SymbolsFolder: '$(Build.SourcesDirectory)\artifacts\SymStore'
TreatNotIndexedAsWarning: true
SymbolsProduct: '$(Build.DefinitionName)'
SymbolsVersion: '$(Build.BuildNumber)'
continueOnError: true
condition: and(succeeded(), contains(variables['PB_PublishType'], 'symbols'))
scriptName: 'setup\publish-assets.ps1'
arguments: '-binariesPath artifacts\bin -configuration $(BuildConfiguration) -branchName $(Build.SourceBranch) -apiKey $(FSharp.MyGetApiKey)'
condition: succeeded()

# Upload VSTS Drop
- task: ms-vseng.MicroBuildTasks.4305a8de-ba66-4d8b-b2d1-0dc4ecbbf5e8.MicroBuildUploadVstsDropFolder@1
displayName: Upload VSTS Drop
# Package publish
- task: PublishBuildArtifacts@1
displayName: Push Asset Manifests
inputs:
DropFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
condition: and(succeeded(), contains(variables['PB_PublishType'], 'vsts'))
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(BuildConfiguration)/AssetManifest'
ArtifactName: AssetManifests
continueOnError: true
condition: succeeded()

# Execute cleanup tasks
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
displayName: Execute cleanup tasks
condition: succeededOrFailed()

# Publish Artifact: MicroBuildOutputs
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: MicroBuildOutputs'
inputs:
PathtoPublish: '$(Build.StagingDirectory)\MicroBuild\Output'
ArtifactName: MicroBuildOutputs
publishLocation: Container
condition: and(succeeded(), contains(variables['PB_PublishType'], 'microbuild'))

# Publish Symbols to Symweb
- task: ms-vscs-artifact.build-tasks.artifactSymbolTask-1.artifactSymbolTask@0
displayName: Publish symbols to SymWeb
inputs:
symbolServiceURI: 'https://microsoft.artifacts.visualstudio.com/DefaultCollection'
sourcePath: '$(DropRoot)\$(Build.DefinitionName)\$(Build.SourceBranchName)\$(Build.BuildNumber)\SymStore'
usePat: false
condition: and(succeeded(), contains(variables['PB_PublishType'], 'symweb'))

- template: /eng/common/templates/job/publish-build-assets.yml
parameters:
dependsOn:
Expand Down
Loading

0 comments on commit bb110d5

Please sign in to comment.