Skip to content

Commit a19160d

Browse files
CopilotT-Gro
andcommitted
Address technical feedback - simplify SDK detection, fix file paths, focus on binlog artifacts
Co-authored-by: T-Gro <[email protected]>
1 parent 1f17e6b commit a19160d

File tree

1 file changed

+12
-33
lines changed

1 file changed

+12
-33
lines changed

azure-pipelines-regression-test.yml

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,10 @@ stages:
5656
- stage: RegressionTest
5757
displayName: F# Compiler Regression Tests
5858
jobs:
59+
# Note: This pipeline should be integrated with azure-pipelines-PR.yml EndToEndBuildTests job
60+
# For now, keeping a minimal build job until architectural integration is completed
5961
- job: BuildCompiler
60-
displayName: Build F# Compiler
62+
displayName: Build F# Compiler (temporary - should use EndToEndBuildTests)
6163
pool:
6264
name: $(DncEngPublicBuildPool)
6365
demands: ImageOverride -equals $(WindowsMachineQueueName)
@@ -159,35 +161,16 @@ stages:
159161
exit 1
160162
}
161163
162-
# Detect .NET SDK version from global.json if it exists
163-
- task: PowerShell@2
164-
displayName: 'Detect .NET SDK version for $(DisplayName)'
165-
inputs:
166-
script: |
167-
Set-Location $(Pipeline.Workspace)/TestRepo
168-
169-
if (Test-Path "global.json") {
170-
Write-Host "Found global.json, reading .NET SDK version"
171-
$globalJson = Get-Content "global.json" | ConvertFrom-Json
172-
$sdkVersion = $globalJson.sdk.version
173-
Write-Host "Detected .NET SDK version: $sdkVersion"
174-
Write-Host "##vso[task.setvariable variable=DotNetSdkVersion]$sdkVersion"
175-
} else {
176-
Write-Host "No global.json found, will use latest public SDK"
177-
Write-Host "##vso[task.setvariable variable=DotNetSdkVersion]10.x"
178-
}
179-
180-
# Install appropriate .NET SDK version
164+
# Install appropriate .NET SDK version using global.json if present
181165
- task: UseDotNet@2
182166
displayName: 'Install .NET SDK for $(DisplayName)'
183167
inputs:
184168
packageType: sdk
185-
version: $(DotNetSdkVersion)
186-
includePreviewVersions: true
169+
useGlobalJson: true
187170
workingDirectory: $(Pipeline.Workspace)/TestRepo
188171
installationPath: $(Pipeline.Workspace)/TestRepo/.dotnet
189172

190-
# Setup Directory.Build.props and UseLocalCompiler configuration using F# script
173+
# Setup Directory.Build.props to import UseLocalCompiler configuration
191174
- task: PowerShell@2
192175
displayName: 'Setup local compiler configuration for $(DisplayName)'
193176
inputs:
@@ -200,7 +183,7 @@ stages:
200183
open System.IO
201184
open System.Xml
202185
203-
let useLocalCompilerImport = """<Import Project="UseLocalCompiler.Directory.Build.props" />"""
186+
let useLocalCompilerImport = """<Import Project="$(Pipeline.Workspace)/Props/UseLocalCompiler.Directory.Build.props" />"""
204187
205188
let directoryBuildPropsPath = "Directory.Build.props"
206189
@@ -213,10 +196,10 @@ stages:
213196
let projectElement = doc.SelectSingleNode("/Project")
214197
if projectElement <> null then
215198
// Check if our import already exists
216-
let existingImport = doc.SelectSingleNode(sprintf "//Import[@Project='UseLocalCompiler.Directory.Build.props']")
199+
let existingImport = doc.SelectSingleNode(sprintf "//Import[@Project='$(Pipeline.Workspace)/Props/UseLocalCompiler.Directory.Build.props']")
217200
if existingImport = null then
218201
let importElement = doc.CreateElement("Import")
219-
importElement.SetAttribute("Project", "UseLocalCompiler.Directory.Build.props")
202+
importElement.SetAttribute("Project", "$(Pipeline.Workspace)/Props/UseLocalCompiler.Directory.Build.props")
220203
projectElement.InsertBefore(importElement, projectElement.FirstChild) |> ignore
221204
doc.Save(directoryBuildPropsPath)
222205
printfn "Added UseLocalCompiler import to existing Directory.Build.props"
@@ -238,11 +221,7 @@ stages:
238221
# Run the F# script using dotnet fsi
239222
dotnet fsi PrepareRepoForTesting.fsx
240223
241-
# Copy UseLocalCompiler.Directory.Build.props as-is (path will be set via environment variable)
242-
Copy-Item "$(Pipeline.Workspace)/Props/UseLocalCompiler.Directory.Build.props" "UseLocalCompiler.Directory.Build.props" -Force
243-
244-
Write-Host "UseLocalCompiler.Directory.Build.props content (first 20 lines):"
245-
Get-Content "UseLocalCompiler.Directory.Build.props" | Select-Object -First 20
224+
Write-Host "UseLocalCompiler.Directory.Build.props will be referenced from: $(Pipeline.Workspace)/Props/UseLocalCompiler.Directory.Build.props"
246225
247226
# Report dotnet info in test environment
248227
- task: PowerShell@2
@@ -310,14 +289,14 @@ stages:
310289
exit $exitCode
311290
}
312291
313-
# Capture and publish build logs on failure
314-
# Publish only MSBuild binary logs
292+
# Publish only MSBuild binary logs for efficient storage
315293
- task: PublishPipelineArtifact@1
316294
displayName: 'Publish $(DisplayName) Binary Logs'
317295
inputs:
318296
targetPath: '$(Pipeline.Workspace)/TestRepo'
319297
artifactName: '$(DisplayName)_BinaryLogs'
320298
publishLocation: pipeline
299+
artifact: '*.binlog'
321300
condition: always()
322301
continueOnError: true
323302

0 commit comments

Comments
 (0)