Skip to content

Commit 82294a9

Browse files
committed
Merged PR 4540: eng | Add 5.1 build YAML pipeline
Successful run: https://sqlclientdrivers.visualstudio.com/ADO.Net/_build/results?buildId=87027&view=results Related work items: #28132
1 parent 3994122 commit 82294a9

30 files changed

+1608
-26
lines changed

.config/CredScanSuppressions.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"tool": "Credential Scanner",
3+
"suppressions": [
4+
{
5+
"file": "src/Microsoft.Data.SqlClient/tests/Docker/DockerLinuxTest/Program.cs",
6+
"justification": "Test projects should be skipped"
7+
},
8+
{
9+
"file": "src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/TDSServerArguments.cs",
10+
"justification": "Test projects should be skipped"
11+
},
12+
{
13+
"file": "src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/TdsServerCertificate.pfx",
14+
"justification": "Test projects should be skipped"
15+
},
16+
{
17+
"file": "src/docker-compose.yml",
18+
"justification": "Docker test project should be excluded"
19+
},
20+
{
21+
"file": "doc/samples/SqlConnectionStringBuilder.cs",
22+
"justification": "Documentation could include sample data and can be ignored"
23+
}
24+
]
25+
}

.config/PolicheckExclusions.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<PoliCheckExclusions>
2+
<Exclusion Type="FolderPathStart">SRC/MICROSOFT.DATA.SQLCLIENT/TESTS</Exclusion>
3+
<Exclusion Type="FileType">.YML|.MD|.SQL</Exclusion>
4+
<Exclusion Type="FileName">NOTICE.TXT</Exclusion>
5+
</PoliCheckExclusions>

.config/tsaoptions.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"instanceUrl": "https://sqlclientdrivers.visualstudio.com/",
3+
"projectName": "ADO.Net",
4+
"areaPath": "ADO.Net",
5+
"iterationPath": "ADO.Net\\TSA\\SqlClient",
6+
"notificationAliases": [ "SqlClient@microsoft.com" ],
7+
"repositoryName": "SqlClient",
8+
"codebaseName": "SqlClient",
9+
"allTools": true,
10+
"template": "MSDATA_RevolutionR",
11+
"language": "csharp",
12+
"includePathPatterns": "src/Microsoft.Data.SqlClient/*, src/Microsoft.SqlServer.Server/*, tools/*",
13+
"excludePathPatterns": "src/Microsoft.Data.SqlClient/tests/*"
14+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#################################################################################
2+
# Licensed to the .NET Foundation under one or more agreements. #
3+
# The .NET Foundation licenses this file to you under the MIT license. #
4+
# See the LICENSE file in the project root for more information. #
5+
#################################################################################
6+
parameters:
7+
- name: symbolsFolder
8+
type: string
9+
default: symbols
10+
11+
- name: softwareFolder
12+
type: string
13+
default: software
14+
15+
- name: publishSymbols
16+
type: boolean
17+
18+
jobs:
19+
- job: build_signed_akv_package
20+
pool:
21+
type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs
22+
23+
variables:
24+
- template: ../../../libraries/variables.yml@self
25+
- name: PublishSymbols
26+
value: ${{ parameters['PublishSymbols'] }}
27+
28+
steps:
29+
- script: SET
30+
displayName: 'Print Environment Variables'
31+
32+
- template: ../steps/build-all-configurations-signed-dlls-step.yml@self
33+
parameters:
34+
product: AKV
35+
nugetPackageRefVersion: $(MDS_PackageRef_Version)
36+
AssemblyFileVersion: $(AKVAssemblyFileVersion)
37+
38+
- template: ../steps/code-analyze-step.yml@self
39+
parameters:
40+
analyzeType: all
41+
product: AKV
42+
nugetPackageRefVersion: $(MDS_PackageRef_Version)
43+
44+
- template: ../steps/esrp-code-signing-step.yml@self
45+
parameters:
46+
artifactType: dll
47+
48+
- template: ../steps/generate-nuget-package-step.yml@self
49+
parameters:
50+
OutputDirectory: $(artifactDirectory)
51+
nuspecPath: ${{variables.akvNuspecPath }}
52+
NugetPackageVersion: ${{variables.AKVNuGetPackageVersion }}
53+
referenceType: package
54+
55+
- template: ../steps/esrp-code-signing-step.yml@self
56+
parameters:
57+
artifactType: pkg
58+
59+
- template: ../steps/copy-dlls-for-test-step.yml@self
60+
parameters:
61+
product: AKV
62+
referenceType: package
63+
64+
# Publish symbols to private server
65+
- template: ../steps/publish-symbols-step.yml@self
66+
parameters:
67+
SymAccount: $(PrivateSymAccount)
68+
referenceType: package
69+
symbolsVersion: ${{variables.AKVNuGetPackageVersion }}
70+
product: AKV
71+
publishSymbols: ${{ parameters['PublishSymbols'] }}
72+
73+
# Publish symbols to public server
74+
- template: ../steps/publish-symbols-step.yml@self
75+
parameters:
76+
SymAccount: $(PublicSymAccount)
77+
referenceType: package
78+
symbolsVersion: ${{variables.AKVNuGetPackageVersion }}
79+
product: AKV
80+
publishSymbols: ${{ parameters['PublishSymbols'] }}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#################################################################################
2+
# Licensed to the .NET Foundation under one or more agreements. #
3+
# The .NET Foundation licenses this file to you under the MIT license. #
4+
# See the LICENSE file in the project root for more information. #
5+
#################################################################################
6+
parameters:
7+
- name: symbolsFolder
8+
type: string
9+
default: symbols
10+
11+
- name: softwareFolder
12+
type: string
13+
default: software
14+
15+
- name: publishSymbols
16+
type: boolean
17+
18+
jobs:
19+
- job: build_signed_package
20+
pool:
21+
type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs
22+
23+
variables:
24+
- template: ../../../libraries/variables.yml@self
25+
26+
steps:
27+
- script: SET
28+
displayName: 'Print Environment Variables'
29+
30+
- template: ../steps/build-all-configurations-signed-dlls-step.yml@self
31+
32+
- template: ../steps/code-analyze-step.yml@self
33+
parameters:
34+
analyzeType: all
35+
36+
- template: ../steps/esrp-code-signing-step.yml@self
37+
parameters:
38+
artifactType: dll
39+
40+
- template: ../steps/generate-nuget-package-step.yml@self
41+
parameters:
42+
OutputDirectory: $(artifactDirectory)
43+
44+
- template: ../steps/esrp-code-signing-step.yml@self
45+
parameters:
46+
artifactType: pkg
47+
48+
- template: ../steps/copy-dlls-for-test-step.yml@self
49+
parameters:
50+
product: MDS
51+
52+
# Publish symbols to private server
53+
- template: ../steps/publish-symbols-step.yml@self
54+
parameters:
55+
SymAccount: $(PrivateSymAccount)
56+
publishSymbols: ${{ parameters['PublishSymbols'] }}
57+
58+
# Publish symbols to public server
59+
- template: ../steps/publish-symbols-step.yml@self
60+
parameters:
61+
SymAccount: $(PublicSymAccount)
62+
publishSymbols: ${{ parameters['PublishSymbols'] }}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#################################################################################
2+
# Licensed to the .NET Foundation under one or more agreements. #
3+
# The .NET Foundation licenses this file to you under the MIT license. #
4+
# See the LICENSE file in the project root for more information. #
5+
#################################################################################
6+
parameters:
7+
- name: downloadPackageStep
8+
type: step
9+
default:
10+
script: echo <empty step>
11+
12+
- name: packageFolderName
13+
type: string
14+
default: drop_build_build_signed_package
15+
16+
- name: dependsOn
17+
type: string
18+
default: empty
19+
20+
jobs:
21+
- job: run_tests_package_reference
22+
${{ if ne(parameters.dependsOn, 'empty')}}:
23+
dependsOn: '${{parameters.dependsOn }}'
24+
pool:
25+
type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs
26+
isCustom: true
27+
name: ADO-1ES-Pool
28+
vmImage: 'ADO-MMS22-SQL19'
29+
30+
variables: # More settings at https://aka.ms/obpipelines/yaml/jobs
31+
- template: ../../../libraries/mds-validation-variables.yml@self
32+
33+
steps:
34+
- template: ../steps/pre-build-step.yml
35+
36+
- ${{parameters.downloadPackageStep }}
37+
38+
- template: ../steps/update-nuget-config-local-feed-step.yml
39+
parameters:
40+
downloadedNugetPath: $(Pipeline.Workspace)\${{parameters.packageFolderName }}
41+
42+
- template: ../steps/update-config-file-step.yml
43+
parameters:
44+
TCPConnectionString: $(SQL_TCP_CONN_STRING)
45+
NPConnectionString: $(SQL_NP_CONN_STRING)
46+
SupportsIntegratedSecurity: false
47+
48+
- template: ../steps/prepare-test-db-step.yml
49+
50+
# build & test
51+
- template: ../steps/build-and-run-tests-netfx-step.yml
52+
parameters:
53+
referenceType: Package
54+
55+
- template: ../steps/build-and-run-tests-netcore-step.yml
56+
parameters:
57+
referenceType: Package
58+
cleanFirst: true

0 commit comments

Comments
 (0)