Skip to content

Commit 1c48ea6

Browse files
committed
Merged PR 4568: eng | Add 4.0 build YAML pipeline
Most recent successful run: https://sqlclientdrivers.visualstudio.com/ADO.Net/_build/results?buildId=89328&view=results Related work items: #28131
1 parent ddc2169 commit 1c48ea6

29 files changed

+1645
-21
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|SQLDATAADAPTER.CS</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": [ "[email protected]" ],
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: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
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
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/install-dotnet-sdk.yml@self
33+
34+
- template: ../steps/build-all-configurations-signed-dlls-step.yml@self
35+
parameters:
36+
product: AKV
37+
nugetPackageRefVersion: $(MDS_PackageRef_Version)
38+
AssemblyFileVersion: $(AKVAssemblyFileVersion)
39+
40+
- template: ../steps/code-analyze-step.yml@self
41+
parameters:
42+
analyzeType: all
43+
product: AKV
44+
nugetPackageRefVersion: $(MDS_PackageRef_Version)
45+
46+
- template: ../steps/esrp-code-signing-step.yml@self
47+
parameters:
48+
artifactType: dll
49+
50+
- template: ../steps/generate-nuget-package-step.yml@self
51+
parameters:
52+
OutputDirectory: $(artifactDirectory)
53+
nuspecPath: ${{variables.akvNuspecPath }}
54+
NugetPackageVersion: ${{variables.AKVNuGetPackageVersion }}
55+
referenceType: package
56+
57+
- template: ../steps/esrp-code-signing-step.yml@self
58+
parameters:
59+
artifactType: pkg
60+
61+
- template: ../steps/copy-dlls-for-test-step.yml@self
62+
parameters:
63+
product: AKV
64+
referenceType: package
65+
66+
# Publish symbols to private server
67+
- template: ../steps/publish-symbols-step.yml@self
68+
parameters:
69+
SymAccount: $(PrivateSymAccount)
70+
referenceType: package
71+
symbolsVersion: ${{variables.AKVNuGetPackageVersion }}
72+
product: AKV
73+
publishSymbols: ${{ parameters['PublishSymbols'] }}
74+
75+
# Publish symbols to public server
76+
- template: ../steps/publish-symbols-step.yml@self
77+
parameters:
78+
SymAccount: $(PublicSymAccount)
79+
referenceType: package
80+
symbolsVersion: ${{variables.AKVNuGetPackageVersion }}
81+
product: AKV
82+
publishSymbols: ${{ parameters['PublishSymbols'] }}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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
22+
23+
variables:
24+
- template: ../../../libraries/variables.yml@self
25+
26+
steps:
27+
- script: SET
28+
displayName: 'Print Environment Variables'
29+
30+
- template: ../steps/install-dotnet-sdk.yml@self
31+
32+
- template: ../steps/build-all-configurations-signed-dlls-step.yml@self
33+
34+
- template: ../steps/code-analyze-step.yml@self
35+
parameters:
36+
analyzeType: all
37+
38+
- template: ../steps/esrp-code-signing-step.yml@self
39+
parameters:
40+
artifactType: dll
41+
42+
- template: ../steps/generate-nuget-package-step.yml@self
43+
parameters:
44+
OutputDirectory: $(artifactDirectory)
45+
46+
- template: ../steps/esrp-code-signing-step.yml@self
47+
parameters:
48+
artifactType: pkg
49+
50+
- template: ../steps/copy-dlls-for-test-step.yml@self
51+
parameters:
52+
product: MDS
53+
54+
# Publish symbols to private server
55+
- template: ../steps/publish-symbols-step.yml@self
56+
parameters:
57+
SymAccount: $(PrivateSymAccount)
58+
publishSymbols: ${{ parameters['PublishSymbols'] }}
59+
60+
# Publish symbols to public server
61+
- template: ../steps/publish-symbols-step.yml@self
62+
parameters:
63+
SymAccount: $(PublicSymAccount)
64+
publishSymbols: ${{ parameters['PublishSymbols'] }}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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-MMS19-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+
- template: ../steps/install-dotnet-sdk.yml@self
37+
38+
- ${{parameters.downloadPackageStep }}
39+
40+
- template: ../steps/update-nuget-config-local-feed-step.yml
41+
parameters:
42+
downloadedNugetPath: $(Pipeline.Workspace)\${{parameters.packageFolderName }}
43+
44+
- template: ../steps/update-config-file-step.yml
45+
parameters:
46+
TCPConnectionString: $(SQL_TCP_CONN_STRING)
47+
NPConnectionString: $(SQL_NP_CONN_STRING)
48+
MakecertPath: $(MakecertPath)
49+
SupportsIntegratedSecurity: false
50+
51+
- template: ../steps/prepare-test-db-step.yml
52+
53+
# build & test
54+
- template: ../steps/build-and-run-tests-netfx-step.yml
55+
parameters:
56+
referenceType: Package
57+
58+
- template: ../steps/build-and-run-tests-netcore-step.yml
59+
parameters:
60+
referenceType: Package
61+
cleanFirst: true

0 commit comments

Comments
 (0)