Skip to content
This repository was archived by the owner on Jan 5, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
7481638
First try for ci build.
Dec 5, 2019
0e7618c
Add var Parameters.solution
Dec 5, 2019
65d7422
Add second job 'Release-Windows'
Dec 5, 2019
37bb1b5
Fix CoverallsToken
Dec 5, 2019
82f3d2c
Hide CoverallsToken
Dec 5, 2019
360a3cb
Fix job names
Dec 5, 2019
fe3c0b0
Fix path to powershell script.
Dec 5, 2019
ad7e9f9
Add vr BotBuilderDll
Dec 5, 2019
c5ef05e
Add API validation steps
Dec 6, 2019
053c15b
Fix dependsOn
Dec 6, 2019
6eba30e
Add threads generator.
Dec 6, 2019
982a277
Pool reference added to job: generate_thread_variables
Dec 6, 2019
2ab7ba0
Fix generate_thread_variables
Dec 6, 2019
626573b
Fix ci-post-to-github-steps.yml
Dec 6, 2019
3b4c034
Debug matrix execution
Dec 6, 2019
36b71da
Fix generate_thread_variables
Dec 6, 2019
ba77843
Debug generate_threads.threads
Dec 6, 2019
49c83fd
Debug generate_thread_variables 2
Dec 6, 2019
7a6e836
Debug generate_thread_variables 3
Dec 6, 2019
e447deb
Debug generate_thread_variables 4
Dec 6, 2019
a0b292d
Now trying matrix
Dec 6, 2019
84cec4a
matrix fix?
Dec 6, 2019
aaaa684
matrix fix 2?
Dec 6, 2019
b5f2ed5
matrix attempt 5
Dec 6, 2019
4ac9f8e
matrix from scratch example
Dec 6, 2019
7ecdd86
Just the sample code
Dec 6, 2019
be2ee8f
delete dependency
Dec 6, 2019
dcbf19f
Add pool
Dec 6, 2019
e664322
Add pool to parent
Dec 6, 2019
124b61e
Substituting my matrix string...
Dec 6, 2019
a61bded
Fixed string!
Dec 6, 2019
7217ff2
generate_thread_variables fixed
Dec 6, 2019
2a375c5
Getting there with MULTIJOBS
Dec 7, 2019
8d70d25
Fix timeoutInMinutes
Dec 7, 2019
09e7d8d
Re-add template calls.
Dec 7, 2019
65e1c4d
Now with all jobs running.
Dec 7, 2019
bb24461
Replace deprecated CopyPublishBuildArtifacts
Dec 9, 2019
a5267cf
Add dir workspace to post-to-github stage
Dec 9, 2019
00bb236
Comments update.
Dec 9, 2019
47df87c
More comment updates.
Dec 9, 2019
3fc9f63
Comment change 3
Dec 10, 2019
35bd4d7
Comment change 5
Dec 10, 2019
c3cdc72
Comment change 6
Dec 10, 2019
00d1325
Add botbuilder-dotnet-ci-mac.yml
Dec 10, 2019
65f9c04
Set up var pool: vmImage: 'macOS-latest'
Dec 10, 2019
a06a36a
Change vmimage to macOS-10.14
Dec 10, 2019
4e42d1f
Change Parameters.solution to Microsoft.Bot.Builder-Standard.sln
Dec 10, 2019
b9f698f
Remove Parameters.solution
Dec 10, 2019
c5657c1
Cleanup
Dec 10, 2019
458c6d3
Comment fix.
Dec 10, 2019
2a68917
Add build tagging, update comments for signed build.
Dec 10, 2019
78ad6fa
Change build order.
Dec 10, 2019
efda626
Split out the test steps.
Dec 10, 2019
ea2102c
Cleanup
Dec 10, 2019
0e59820
Add signed build
Dec 10, 2019
8293653
Fix MSBuildArguments
Dec 10, 2019
d5d81a9
Fix package names list
Dec 10, 2019
36d3a40
Merge branch 'master' into v-bruhal/yamlbuild2
Dec 10, 2019
39dd77d
Add funcitonal tests setup build
Dec 10, 2019
341c0aa
Update versions from 4.6.0 to 4.8.0
Dec 10, 2019
ae5c500
Merge from master
Dec 11, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions build/yaml/botbuilder-dotnet-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ variables:
CoverallsToken: define this in Azure
GitHubCommentApiKey: define this in Azure
IsBuildServer: true # This is consumed by projects in Microsoft.Bot.Builder.sln.
MSBuildArguments: -p:SignAssembly=false -p:delaySign=false
Parameters.solution: Microsoft.Bot.Builder.sln
PreviewPackageVersion: 4.6.0-preview-$(Build.BuildNumber) # This is consumed by projects in Microsoft.Bot.Builder.sln.
ReleasePackageVersion: 4.6.0-preview-$(Build.BuildNumber) # This is consumed by projects in Microsoft.Bot.Builder.sln.
PreviewPackageVersion: 4.8.0-preview-$(Build.BuildNumber) # This is consumed by projects in Microsoft.Bot.Builder.sln.
ReleasePackageVersion: 4.8.0-preview-$(Build.BuildNumber) # This is consumed by projects in Microsoft.Bot.Builder.sln.
pool:
name: Hosted Windows 2019 with VS2019
demands:
Expand Down
25 changes: 25 additions & 0 deletions build/yaml/botbuilder-dotnet-functional-tests-setup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#
# This YAML build definition replaces the classic BotBuilder-DotNet-master-Functional-Tests-Setup
#

# "name" here defines the build number format. Build number is accessed via $(Build.BuildNumber)
name: $(Build.BuildId)
variables:
BuildConfiguration: Debug-Windows
BuildPlatform: any cpu
IsBuildServer: true # Consumed by projects in Microsoft.Bot.Builder.sln.
MSBuildArguments: -p:SignAssembly=false -p:delaySign=false -p:DefineConstants="FUNCTIONALTESTS"
Parameters.solution: Microsoft.Bot.Builder.sln
PreviewPackageVersion: 4.8.0-preview-$(Build.BuildNumber) # Consumed by projects in Microsoft.Bot.Builder.sln. Define this in Azure to be settable at queue time.
ReleasePackageVersion: 4.8.0-preview-$(Build.BuildNumber) # Consumed by projects in Microsoft.Bot.Builder.sln. Define this in Azure to be settable at queue time.
pool:
name: Hosted Windows 2019 with VS2019
demands:
- msbuild
- visualstudio

jobs:
- job: Set_Up_Functional_Tests
steps:
- template: ci-build-steps.yml
- template: functional-test-setup-steps.yml
27 changes: 27 additions & 0 deletions build/yaml/botbuilder-dotnet-sign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#
# This YAML build definition replaces the classic BotBuilder-DotNet-master-Signed-daily
#

# "name" here defines the build number format. Build number is accessed via $(Build.BuildNumber)
name: $(Build.BuildId)
variables:
BuildConfiguration: Release-Windows
BuildPlatform: any cpu
IsBuildServer: true # Consumed by projects in Microsoft.Bot.Builder.sln.
MSBuildArguments: -p:IncludeSymbols=true -p:SourceLinkCreate=true -p:SymbolPackageFormat=snupkg
Parameters.solution: Microsoft.Bot.Builder.sln
PreviewPackageVersion: 4.8.0-preview-$(Build.BuildNumber) # Consumed by projects in Microsoft.Bot.Builder.sln. Define this in Azure to be settable at queue time.
ReleasePackageVersion: 4.8.0-preview-$(Build.BuildNumber) # Consumed by projects in Microsoft.Bot.Builder.sln. Define this in Azure to be settable at queue time.
pool:
name: Hosted Windows 2019 with VS2019
demands:
- msbuild
- visualstudio

stages:
- stage: Build
jobs:
- job: Release_Windows_Configuration
steps:
- template: ci-build-steps.yml
- template: sign-steps.yml
2 changes: 1 addition & 1 deletion build/yaml/ci-build-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ steps:
inputs:
solution: '$(Parameters.solution)'
vsVersion: 16.0
msbuildArgs: '-p:SignAssembly=false -p:delaySign=false'
msbuildArgs: '$(MSBuildArguments)'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'

Expand Down
72 changes: 72 additions & 0 deletions build/yaml/functional-test-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
steps:
- task: DotNetCoreCLI@2
displayName: 'Create PublishedBot.zip for deploy to Azure'
inputs:
command: publish
publishWebProjects: false
projects: '$(System.DefaultWorkingDirectory)\tests\Microsoft.Bot.Builder.TestBot\Microsoft.Bot.Builder.TestBot.csproj'
arguments: '--output $(System.DefaultWorkingDirectory)\tests\Microsoft.Bot.Builder.TestBot\PublishedBot'
modifyOutputPath: false

- task: CopyFiles@2
displayName: 'Copy root Directory.Build.props to staging'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: Directory.Build.props
TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: CopyFiles@2
displayName: 'Copy FunctionalTests to staging'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\FunctionalTests'
Contents: '**\*'
TargetFolder: '$(Build.ArtifactStagingDirectory)\FunctionalTests'

- task: CopyFiles@2
displayName: 'Copy libraries to staging'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\libraries'
Contents: '**\*'
TargetFolder: '$(Build.ArtifactStagingDirectory)\libraries'

- task: CopyFiles@2
displayName: 'Copy tests\integration to staging'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\tests\integration'
Contents: '**\*'
TargetFolder: '$(Build.ArtifactStagingDirectory)\tests\integration'

- task: CopyFiles@2
displayName: 'Copy PublishedBot.zip to staging'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\tests\Microsoft.Bot.Builder.TestBot\PublishedBot'
Contents: '*.zip'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: true
enabled: false

- task: CopyFiles@2
displayName: 'Copy test bot to staging'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)\tests\Microsoft.Bot.Builder.TestBot'
Contents: '**\*'
TargetFolder: '$(Build.ArtifactStagingDirectory)\tests\Microsoft.Bot.Builder.TestBot'

- task: CopyFiles@2
displayName: 'Copy CodeCoverage.runsettings and PublishToCoveralls.ps1 to staging'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: |
CodeCoverage.runsettings
build\PublishToCoveralls.ps1
TargetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: true

- task: PublishBuildArtifacts@1
displayName: 'Push staging to Artifacts drop'

- script: |
cd ..
dir *.* /s
displayName: 'Dir workspace'
enabled: true
210 changes: 210 additions & 0 deletions build/yaml/sign-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
steps:
- task: CopyFiles@2
displayName: 'Copy packages to Signing'
inputs:
SourceFolder: '$(build.sourcesdirectory)'
Contents: |
outputpackages\*.nupkg
!outputpackages\*.symbols.nupkg
TargetFolder: '$(build.artifactstagingdirectory)\Signing'
flattenFolders: true

- task: PowerShell@2
displayName: 'Unpack .nuget packages'
inputs:
targetType: filePath
filePath: ./build/ExtractCompressNuGet.ps1
arguments: '$(Build.ArtifactStagingDirectory)\Signing -Extract'

- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: 'ESRP Signing - strong name (CP-233863-SN)'
inputs:
ConnectedServiceName: 'ESRP Code Signing Connection 2019b'
FolderPath: '$(build.artifactstagingdirectory)\Signing'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"keyCode": "CP-233863-SN",
"operationSetCode": "StrongNameSign",
"parameters": [],
"toolName": "sign",
"toolVersion": "1.0"
},
{
"keyCode": "CP-233863-SN",
"operationSetCode": "StrongNameVerify",
"parameters": [],
"toolName": "sign",
"toolVersion": "1.0"
}
]

SessionTimeout: 20

- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: 'ESRP Signing - authenticode (CP-230012)'
inputs:
ConnectedServiceName: 'ESRP Code Signing Connection 2019b'
FolderPath: '$(build.artifactstagingdirectory)\Signing'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"keyCode": "CP-230012",
"operationSetCode": "SigntoolSign",
"parameters": [
{
"parameterName": "OpusName",
"parameterValue": "Microsoft"
},
{
"parameterName": "OpusInfo",
"parameterValue": "http://www.microsoft.com"
},
{
"parameterName": "PageHash",
"parameterValue": "/NPH"
},
{
"parameterName": "TimeStamp",
"parameterValue": "/t \"http://ts4096.gtm.microsoft.com/TSS/AuthenticodeTS\""
}
],
"toolName": "sign",
"toolVersion": "1.0"
},
{
"keyCode": "CP-230012",
"operationSetCode": "SigntoolVerify",
"parameters": [ ],
"toolName": "sign",
"toolVersion": "1.0"
}
]
SessionTimeout: 20

- script: |
cd ..
dir *.* /s
displayName: 'Dir workspace copy'

- task: PowerShell@2
displayName: 'Repack .nuget packages'
inputs:
targetType: filePath
filePath: ./build/ExtractCompressNuGet.ps1
arguments: '$(Build.ArtifactStagingDirectory)\Signing -Compress'

- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: 'ESRP Signing - .nupkg (CP-401405)'
inputs:
ConnectedServiceName: 'ESRP Code Signing Connection 2019b'
FolderPath: '$(build.artifactstagingdirectory)\Signing'
Pattern: '*.nupkg'
signConfigType: inlineSignParams
inlineOperation: |
[
{
"keyCode": "CP-401405",
"operationSetCode": "NuGetSign",
"parameters": [],
"toolName": "sign",
"toolVersion": "1.0"
},
{
"keyCode": "CP-401405",
"operationSetCode": "NuGetVerify",
"parameters": [],
"toolName": "sign",
"toolVersion": "1.0"
}
]
SessionTimeout: 20

- task: CopyFiles@2
displayName: 'Copy .nupkg files to publish'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)\Signing'
Contents: |
*.nupkg
!*.symbols.nupkg
TargetFolder: '$(Build.ArtifactStagingDirectory)\publish'

- task: PublishBuildArtifacts@1
displayName: 'Publish .nupkgs to Build Artifacts'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)\publish'

- powershell: |
[string[]]$outvar = (Get-ChildItem *.nupkg -Path $(Build.ArtifactStagingDirectory)\publish ).BaseName;

[int] $packageCount = $outvar.Length;
$PackagesDescription = "$packageCount packages";
Write-Host $PackagesDescription
"##vso[task.setvariable variable=PackagesDescription;]$PackagesDescription";

## Log the package names
for ($i = 0; $i -lt $packageCount; $i++ ) {
Write-Host $outvar[$i];
}

if ($packageCount -gt 30) {
## Too many packages for tags. Show this message instead
$message = "See the 'Get package names' log output for their names";
Write-Host "##vso[task.setvariable variable=pkg0;]$message";
$packageCount = 1;
} else {
## Set package name variables for tags
for ($i = 0; $i -lt $packageCount; $i++ ) {
$p = $outvar[$i];
"##vso[task.setvariable variable=pkg$i;]$p";
}
}

for ($i = $packageCount; $i -le 30; $i++ ) {
## Set remaining variables to an empty string
"##vso[task.setvariable variable=pkg$i;]";
}
displayName: 'Get package names'

- task: colinsalmcorner.colinsalmcorner-buildtasks.tag-build-task.tagBuildOrRelease@0
displayName: 'Tag Build with package names'
inputs:
tags: |
$(PACKAGESDESCRIPTION)
$(PKG0)
$(PKG1)
$(PKG2)
$(PKG3)
$(PKG4)
$(PKG5)
$(PKG6)
$(PKG7)
$(PKG8)
$(PKG9)
$(PKG10)
$(PKG11)
$(PKG12)
$(PKG13)
$(PKG14)
$(PKG15)
$(PKG16)
$(PKG17)
$(PKG18)
$(PKG19)
$(PKG20)
$(PKG21)
$(PKG22)
$(PKG23)
$(PKG24)
$(PKG25)
$(PKG26)
$(PKG27)
$(PKG28)
$(PKG29)

- script: |
cd ..
dir *.* /s
displayName: 'Dir workspace'