19
19
inputs :
20
20
filePath : ' $(Build.SourcesDirectory)/Build/SetVersion.ps1'
21
21
workingDirectory : ' $(Build.SourcesDirectory)'
22
- arguments : -path $(Build.SourcesDirectory)/Directory.Build.props -version $(assemblyVersion)
23
- displayName : Update assembly version
22
+ arguments : -path $(Build.SourcesDirectory)/Directory.Build.props -version $(assemblyVersion) -prop Version
23
+ displayName : Update Linq To DB main assembly version
24
24
25
+ - task : PowerShell@2
26
+ inputs :
27
+ filePath : ' $(Build.SourcesDirectory)/Build/SetVersion.ps1'
28
+ workingDirectory : ' $(Build.SourcesDirectory)'
29
+ arguments : -path $(Build.SourcesDirectory)/Directory.Build.props -version $(ef3AssemblyVersion) -prop EF3Version
30
+ displayName : Update EF.Core 3.1 integration assembly version
31
+
32
+ - task : PowerShell@2
33
+ inputs :
34
+ filePath : ' $(Build.SourcesDirectory)/Build/SetVersion.ps1'
35
+ workingDirectory : ' $(Build.SourcesDirectory)'
36
+ arguments : -path $(Build.SourcesDirectory)/Directory.Build.props -version $(ef6AssemblyVersion) -prop EF6Version
37
+ displayName : Update EF.Core 6 integration assembly version
38
+
39
+ - task : PowerShell@2
40
+ inputs :
41
+ filePath : ' $(Build.SourcesDirectory)/Build/SetVersion.ps1'
42
+ workingDirectory : ' $(Build.SourcesDirectory)'
43
+ arguments : -path $(Build.SourcesDirectory)/Directory.Build.props -version $(ef8AssemblyVersion) -prop EF8Version
44
+ displayName : Update EF.Core 8 integration assembly version
25
45
26
46
- task : DotNetCoreCLI@2
27
47
inputs :
@@ -32,64 +52,67 @@ jobs:
32
52
33
53
- task : DotNetCoreCLI@2
34
54
inputs :
35
- command : ' build'
36
- projects : ' $(solution)'
37
- arguments : ' -property:ContinuousIntegrationBuild=true --configuration $(build_configuration)'
38
- displayName : Build Solution
55
+ command : build
56
+ projects : $(solution)
57
+ arguments : --configuration $(test_configuration)
58
+ displayName : Build Solution for Tests
59
+ condition : and(succeeded(), ${{ parameters.for_tests }})
39
60
40
61
- task : CmdLine@2
41
62
inputs :
42
63
script : |
43
- dotnet publish Tests\Linq\Tests.csproj -f net6.0 -c $(build_configuration)
44
- if %errorlevel% neq 0 exit
45
- dotnet publish Tests\Linq\Tests.csproj -f net8.0 -c $(build_configuration)
46
- if %errorlevel% neq 0 exit
47
- dotnet publish Tests\Linq\Tests.csproj -f $(netfx_tfm) -c $(build_configuration) -a x86 -o .build\publish\Tests\$(build_configuration)\$(netfx_tfm)_x86
48
- if %errorlevel% neq 0 exit
49
- dotnet publish Tests\Linq\Tests.csproj -f $(netfx_tfm) -c $(build_configuration) -a x64 -o .build\publish\Tests\$(build_configuration)\$(netfx_tfm)_x64
50
- if %errorlevel% neq 0 exit
51
- dotnet publish Tests\Linq\Tests.csproj -f net6.0 -c $(build_configuration) -a x86 /p:DB2STUB=True -o .build\publish\Tests\$(build_configuration)\net6.0_x86
52
- if %errorlevel% neq 0 exit
53
- dotnet publish Tests\Linq\Tests.csproj -f net8.0 -c $(build_configuration) -a x86 /p:DB2STUB=True -o .build\publish\Tests\$(build_configuration)\net8.0_x86
54
- if %errorlevel% neq 0 exit
64
+ ECHO ON
65
+ REM publish main and ef.core tests for all TFMs (without architecture!)
66
+ FOR %%f IN ($(netfx_tfm) net6.0 net8.0) DO (
67
+ dotnet publish Tests/Linq/Tests.csproj -f %%f -c $(test_configuration) -o .build/publish/Tests/$(test_configuration)/%%f_x64
68
+ if %errorlevel% neq 0 exit
69
+ dotnet publish Tests/EntityFrameworkCore/Tests.EntityFrameworkCore.csproj -f %%f -c $(test_configuration) -o .build/publish/EFTests/$(test_configuration)/%%f_x64
70
+ if %errorlevel% neq 0 exit
71
+ )
72
+
73
+ REM publish main and ef.core tests for all TFMs for win-x86
74
+ FOR %%f IN ($(netfx_tfm) net6.0 net8.0) DO (
75
+ IF %%f EQU $(netfx_tfm) (
76
+ dotnet publish Tests/Linq/Tests.csproj -f %%f -c $(test_configuration) -a x86 -o .build/publish/Tests/$(test_configuration)/%%f_x86
77
+ ) ELSE (
78
+ dotnet publish Tests/Linq/Tests.csproj -f %%f -c $(test_configuration) -a x86 /p:DB2STUB=True -o .build/publish/Tests/$(test_configuration)/%%f_x86
79
+ )
80
+ if %errorlevel% neq 0 exit
81
+ dotnet publish Tests/EntityFrameworkCore/Tests.EntityFrameworkCore.csproj -f %%f -c $(test_configuration) -a x86 -o .build/publish/EFTests/$(test_configuration)/%%f_x86
82
+ if %errorlevel% neq 0 exit
83
+ )
84
+
55
85
mkdir testing
56
86
if %errorlevel% neq 0 exit
57
- xcopy /i /s .build\publish\Tests\$(build_configuration)\$(netfx_tfm)_x86 testing\netfx
58
- if %errorlevel% neq 0 exit
59
- xcopy /i /s .build\publish\Tests\$(build_configuration)\net6.0 testing\net60
60
- if %errorlevel% neq 0 exit
61
- xcopy /i /s .build\publish\Tests\$(build_configuration)\net8.0 testing\net80
62
- if %errorlevel% neq 0 exit
63
- xcopy /i /s .build\publish\Tests\$(build_configuration)\$(netfx_tfm)_x64 testing\netfxx64
64
- if %errorlevel% neq 0 exit
65
- xcopy /i /s /y .build\bin\Tests\$(build_configuration)\$(netfx_tfm)\x86 testing\netfx\x86
66
- if %errorlevel% neq 0 exit
67
- xcopy /i /s /y .build\bin\Tests\$(build_configuration)\$(netfx_tfm)\x64 testing\netfxx64\x64
68
- if %errorlevel% neq 0 exit
69
- xcopy /i /s .build\publish\Tests\$(build_configuration)\net6.0_x86 testing\net60x86
70
- if %errorlevel% neq 0 exit
71
- xcopy /i /s .build\publish\Tests\$(build_configuration)\net8.0_x86 testing\net80x86
72
- if %errorlevel% neq 0 exit
73
- copy DataProviders.json testing\netfx
74
- if %errorlevel% neq 0 exit
75
- copy DataProviders.json testing\netfxx64
76
- if %errorlevel% neq 0 exit
77
- copy DataProviders.json testing\net60
78
- if %errorlevel% neq 0 exit
79
- copy DataProviders.json testing\net80
80
- if %errorlevel% neq 0 exit
81
- copy DataProviders.json testing\net60x86
82
- if %errorlevel% neq 0 exit
83
- copy DataProviders.json testing\net80x86
84
- if %errorlevel% neq 0 exit
85
- xcopy /i Build\$(build_configuration)\netfx testing\configs\netfx
86
- if %errorlevel% neq 0 exit
87
- xcopy /i Build\$(build_configuration)\net60 testing\configs\net60
87
+
88
+ REM prepare test artifacts with binaries and test configs
89
+ FOR %%f IN ($(netfx_tfm) net6.0 net8.0) DO (
90
+ FOR %%a IN (x86 x64) DO (
91
+ xcopy /i /s .build\publish\Tests\$(test_configuration)\%%f_%%a testing\%%f\main\%%a
92
+ if %errorlevel% neq 0 exit
93
+ xcopy /i /s .build\publish\EFTests\$(test_configuration)\%%f_%%a testing\%%f\efcore\%%a
94
+ if %errorlevel% neq 0 exit
95
+ copy DataProviders.json testing\%%f\main\%%a
96
+ if %errorlevel% neq 0 exit
97
+ copy DataProviders.json testing\%%f\efcore\%%a
98
+ if %errorlevel% neq 0 exit
99
+ )
100
+ )
101
+
102
+ REM copy sqlite.interop.dll runtime, missing from publish for NETFX
103
+ copy .build\bin\Tests\$(test_configuration)\$(netfx_tfm)\x86\SQLite.Interop.dll testing\$(netfx_tfm)\main\x86\x86\SQLite.Interop.dll
88
104
if %errorlevel% neq 0 exit
89
- xcopy /i Build\$(build_configuration)\net80 testing\configs\net80
105
+ copy .build\bin\Tests\$(test_configuration)\$(netfx_tfm)\x64\SQLite.Interop.dll testing\$(netfx_tfm)\main\x64\x64\SQLite.Interop.dll
90
106
if %errorlevel% neq 0 exit
91
- xcopy /i Build\$(build_configuration)\scripts testing\scripts
107
+
108
+ FOR %%c IN (netfx net60 net80) DO (
109
+ xcopy /i Build\$(test_configuration)\%%c testing\configs\%%c
110
+ if %errorlevel% neq 0 exit
111
+ )
112
+
113
+ xcopy /i Build\$(test_configuration)\scripts testing\scripts
92
114
if %errorlevel% neq 0 exit
115
+
93
116
copy "Data\Create Scripts\Northwind.sql" testing\scripts\northwind.sql
94
117
if %errorlevel% neq 0 exit
95
118
condition : and(succeeded(), ${{ parameters.for_tests }})
@@ -98,8 +121,16 @@ jobs:
98
121
- task : PublishPipelineArtifact@1
99
122
inputs :
100
123
path : ' $(Build.SourcesDirectory)/testing'
101
- artifact : test_artifacts
124
+ artifact : $(artifact_test_binaries)
102
125
condition : and(succeeded(), ${{ parameters.for_tests }})
126
+ displayName : Publish Test Artifacts
127
+
128
+ - task : DotNetCoreCLI@2
129
+ inputs :
130
+ command : build
131
+ projects : $(solution)
132
+ arguments : -property:ContinuousIntegrationBuild=true --configuration $(release_configuration)
133
+ displayName : Build Solution for Release and Nuget
103
134
104
135
- task : PublishPipelineArtifact@1
105
136
inputs :
@@ -145,7 +176,21 @@ jobs:
145
176
146
177
- task : PublishPipelineArtifact@1
147
178
inputs :
148
- path : ' $(Build.SourcesDirectory)/.build/bin/Tests/$(build_configuration)/$(netfx_tfm)'
149
- artifact : ' $(netfx_tests)'
179
+ path : ' $(Build.SourcesDirectory)/.build/bin/LinqToDB.FSharp/Release'
180
+ artifact : ' $(artifact_linq2db_fsharp_binaries)'
181
+ displayName : Publish linq2db.FSharp build results
182
+ condition : and(succeeded(), ${{ parameters.for_nuget }})
183
+
184
+ - task : PublishPipelineArtifact@1
185
+ inputs :
186
+ path : ' $(Build.SourcesDirectory)/.build/bin/LinqToDB.EntityFrameworkCore/Release'
187
+ artifact : ' $(artifact_linq2db_efcore_binaries)'
188
+ displayName : Publish linq2db.EntityFrameworkCore build results
189
+ condition : and(succeeded(), ${{ parameters.for_nuget }})
190
+
191
+ - task : PublishPipelineArtifact@1
192
+ inputs :
193
+ path : ' $(Build.SourcesDirectory)/.build/bin/Tests/$(release_configuration)/$(netfx_tfm)'
194
+ artifact : ' $(artifact_t4_binaries)'
150
195
displayName : Publish nuget artifacts part 1
151
196
condition : and(succeeded(), ${{ parameters.for_nuget }})
0 commit comments