diff --git a/.azure-pipelines/ci-build.yml b/.azure-pipelines/ci-build.yml
new file mode 100644
index 000000000..5649e50c5
--- /dev/null
+++ b/.azure-pipelines/ci-build.yml
@@ -0,0 +1,126 @@
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+
+name: $(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
+
+trigger:
+ branches:
+ include:
+ - master
+pr: none
+
+pool:
+ name: Azure Pipelines
+ vmImage: windows-latest
+ demands:
+ - msbuild
+ - vstest
+
+steps:
+- task: NuGetCommand@2
+ displayName: 'NuGet restore'
+
+- task: MSBuild@1
+ displayName: 'Build solution **/*.sln'
+ inputs:
+ configuration: Release
+
+- task: VSTest@2
+ displayName: 'XUnit Tests'
+ inputs:
+ testAssemblyVer2: |
+ **\*.Tests.dll
+
+ vsTestVersion: 16.0
+ codeCoverageEnabled: true
+
+- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
+ displayName: 'ESRP CodeSigning'
+ inputs:
+ ConnectedServiceName: 'microsoftgraph ESRP CodeSign DLL and NuGet (AKV)'
+ FolderPath: src
+ signConfigType: inlineSignParams
+ inlineOperation: |
+ [
+ {
+ "keyCode": "CP-230012",
+ "operationSetCode": "SigntoolSign",
+ "parameters": [
+ {
+ "parameterName": "OpusName",
+ "parameterValue": "Microsoft"
+ },
+ {
+ "parameterName": "OpusInfo",
+ "parameterValue": "http://www.microsoft.com"
+ },
+ {
+ "parameterName": "FileDigest",
+ "parameterValue": "/fd \"SHA256\""
+ },
+ {
+ "parameterName": "PageHash",
+ "parameterValue": "/NPH"
+ },
+ {
+ "parameterName": "TimeStamp",
+ "parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
+ }
+ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ },
+ {
+ "keyCode": "CP-230012",
+ "operationSetCode": "SigntoolVerify",
+ "parameters": [ ],
+ "toolName": "sign",
+ "toolVersion": "1.0"
+ }
+ ]
+ SessionTimeout: 20
+
+- task: MSBuild@1
+ displayName: 'Pack OpenAPI'
+ inputs:
+ solution: src/Microsoft.OpenApi/Microsoft.OpenApi.csproj
+ configuration: Release
+ msbuildArguments: '/t:pack /p:PackageOutputPath=$(Build.ArtifactStagingDirectory) /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg'
+
+- task: MSBuild@1
+ displayName: 'Pack OpenAPI Readers'
+ inputs:
+ solution: src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
+ configuration: Release
+ msbuildArguments: '/t:pack /p:PackageOutputPath=$(Build.ArtifactStagingDirectory) /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg'
+
+- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
+ displayName: 'ESRP CodeSigning Nuget Packages'
+ inputs:
+ ConnectedServiceName: 'microsoftgraph ESRP CodeSign DLL and NuGet (AKV)'
+ FolderPath: '$(Build.ArtifactStagingDirectory)'
+ 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: PublishBuildArtifacts@1
+ displayName: 'Publish Artifact: Nugets'
+ inputs:
+ ArtifactName: Nugets
\ No newline at end of file
diff --git a/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj b/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
index d16fc1fd1..c52601ebb 100644
--- a/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
+++ b/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
@@ -14,10 +14,15 @@
OpenAPI.NET Readers for JSON and YAML documents
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
-
+ https://github.com/Microsoft/OpenAPI.NET
+
+- Publish symbols.
+
Microsoft.OpenApi.Readers
Microsoft.OpenApi.Readers
true
+
+ true
@@ -25,6 +30,15 @@
..\Microsoft.OpenApi.snk
+
+
+ true
+
+
+
+
+
+
diff --git a/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj b/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj
index 379d430fb..d0ff2fbcd 100644
--- a/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj
+++ b/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj
@@ -14,17 +14,31 @@
.NET models with JSON and YAML writers for OpenAPI specification
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
-
+ https://github.com/Microsoft/OpenAPI.NET
+
+- Publish symbols.
+
Microsoft.OpenApi
Microsoft.OpenApi
true
+
+ true
bin\$(Configuration)\$(TargetFramework)\Microsoft.OpenApi.xml
..\Microsoft.OpenApi.snk
-
+
+
+
+ true
+
+
+
+
+
+
True
diff --git a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
index 16a6e1c7b..e5fd82d46 100755
--- a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
+++ b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
@@ -1,3 +1,4 @@
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/Microsoft/OpenAPI.NET")]
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"Microsoft.OpenApi.Readers.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100957cb48387b2a5f54f5ce39255f18f26d32a39990db27cf48737afc6bc62759ba996b8a2bfb675d4e39f3d06ecb55a178b1b4031dcb2a767e29977d88cce864a0d16bfc1b3bebb0edf9fe285f10fffc0a85f93d664fa05af07faa3aad2e545182dbf787e3fd32b56aca95df1a3c4e75dec164a3f1a4c653d971b01ffc39eb3c4")]
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"Microsoft.OpenApi.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100957cb48387b2a5f54f5ce39255f18f26d32a39990db27cf48737afc6bc62759ba996b8a2bfb675d4e39f3d06ecb55a178b1b4031dcb2a767e29977d88cce864a0d16bfc1b3bebb0edf9fe285f10fffc0a85f93d664fa05af07faa3aad2e545182dbf787e3fd32b56aca95df1a3c4e75dec164a3f1a4c653d971b01ffc39eb3c4")]
[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")]