11# CI and PR triggers
22trigger :
3- branches :
4- include :
5- - main
6- - dev16.1
7- - feature/*
8- - release/*
9- paths :
10- include :
11- - ' *'
12- exclude :
13- - .github/*
14- - docs/compiler-guide.md
15- - attributions.md
16- - CODE_OF_CONDUCT.md
17- - DEVGUIDE.md
18- - INTERNAL.md
19- - Language-Version-History.md
20- - License.txt
21- - README.md
22- - release-notes.md
23- - TESTGUIDE.md
24-
3+ - master
4+ - dev16.1
5+ - feature/*
6+ - release/*
257pr :
26- branches :
27- include :
28- - main
29- - dev16.1
30- - feature/*
31- - release/*
32- paths :
33- include :
34- - ' *'
35- exclude :
36- - .github/*
37- - docs/compiler-guide.md
38- - attributions.md
39- - CODE_OF_CONDUCT.md
40- - DEVGUIDE.md
41- - INTERNAL.md
42- - Language-Version-History.md
43- - License.txt
44- - README.md
45- - release-notes.md
46- - TESTGUIDE.md
8+ - master
9+ - dev16.1
10+ - feature/*
11+ - release/*
4712
4813variables :
4914 - name : _TeamName
@@ -314,6 +279,28 @@ stages:
314279 - script : .\tests\EndToEndBuildTests\EndToEndBuildTests -c Release
315280 displayName : End to end build tests
316281
282+ # Source Build Linux - disabled until MSBuild/NuGet issues are resolved
283+ # - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
284+ # - job: SourceBuild_Linux
285+ # pool:
286+ # vmImage: ubuntu-latest
287+ # steps:
288+ # - checkout: self
289+ # clean: true
290+ # - script: ./eng/cibuild.sh --configuration Release /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
291+ # displayName: Build
292+ # - script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj
293+ # displayName: Dump NuGet cache contents
294+ # condition: failed()
295+ # - task: PublishBuildArtifacts@1
296+ # displayName: Publish NuGet cache contents
297+ # inputs:
298+ # PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
299+ # ArtifactName: 'NuGetPackageContents SourceBuild_Linux'
300+ # publishLocation: Container
301+ # continueOnError: true
302+ # condition: failed()
303+
317304 # Source Build Windows
318305 - ${{ if eq(variables['Build.Reason'], 'PullRequest') }} :
319306 - job : SourceBuild_Windows
@@ -322,140 +309,132 @@ stages:
322309 steps :
323310 - checkout : self
324311 clean : true
325- - script : eng\CIBuild.cmd -configuration Release -noSign -prepareMachine -sourceBuild
312+ - script : eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
326313 displayName : Build
327- - task : PublishPipelineArtifact@1
328- displayName : Publish Logs
329- inputs :
330- targetPath : ' $(Build.SourcesDirectory)/artifacts/log/Release'
331- artifactName : ' SourceBuild_Windows Logs'
332- continueOnError : true
333- condition : not(succeeded())
314+ - script : dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj
315+ displayName : Dump NuGet cache contents
316+ condition : failed()
334317 - task : PublishBuildArtifacts@1
335- displayName : Publish Logs
318+ displayName : Publish NuGet cache contents
336319 inputs :
337- PathtoPublish : ' $(Build.SourcesDirectory)/ artifacts/log/Release '
338- ArtifactName : ' SourceBuild_Windows_Test '
320+ PathtoPublish : ' $(Build.SourcesDirectory)\ artifacts\NugetPackageRootContents '
321+ ArtifactName : ' NuGetPackageContents SourceBuild_Windows '
339322 publishLocation : Container
340323 continueOnError : true
341- condition : not(succeeded() )
324+ condition : failed( )
342325
343- # Up-to-date - disabled due to it being flaky
344- # - job: UpToDate_Windows
345- # pool:
346- # vmImage: windows-2019
347- # steps:
348- # - checkout: self
349- # clean: true
350- # - task: PowerShell@2
351- # displayName: Run up-to-date build check
352- # inputs:
353- # filePath: eng\tests\UpToDate.ps1
354- # arguments: -configuration $(_BuildConfig) -ci -binaryLog
326+ # Up-to-date
327+ - job : UpToDate_Windows
328+ pool :
329+ vmImage : windows-2019
330+ steps :
331+ - checkout : self
332+ clean : true
333+ - task : PowerShell@2
334+ displayName : Run up-to-date build check
335+ inputs :
336+ filePath : eng\tests\UpToDate.ps1
337+ arguments : -configuration $(_BuildConfig) -ci -binaryLog
355338
356- # Source Build Semi-Official
357- # used until https://github.com/dotnet/source-build/issues/1795 is fixed
358- - ${{ if eq(variables['Build.Reason'], 'PullRequest') }} :
359- - job : SourceBuild_Official
360- pool :
361- name : NetCorePublic-Pool
362- queue : BuildPool.Ubuntu.1604.amd64.Open
363- timeoutInMinutes : 90
364- steps :
365- - checkout : self
366- clean : true
367- - script : ./eng/cibuild.sh --configuration Release --prepareMachine --docker --sourceBuild
368- displayName : Build
369- - task : PublishPipelineArtifact@1
370- displayName : Publish Logs
371- inputs :
372- targetPath : ' $(Build.SourcesDirectory)/artifacts/log/Release'
373- artifactName : ' SourceBuild_Official Logs'
374- continueOnError : true
375- condition : not(succeeded())
376- - task : PublishBuildArtifacts@1
377- displayName : Publish Logs
378- inputs :
379- PathtoPublish : ' $(Build.SourcesDirectory)/artifacts/log/Release'
380- ArtifactName : ' SourceBuild_Official_Test'
381- publishLocation : Container
382- continueOnError : true
383- condition : not(succeeded())
339+ # -------------------------------------------------------------------------------------------------------------------#
340+ # FCS builds #
341+ # -------------------------------------------------------------------------------------------------------------------#
384342
385- # Plain build Windows
386- # Disabled until the Windows Proto compiler is coreclr
387- # - job: Plain_Build_Windows
388- # pool:
389- # vmImage: windows-latest
390- # variables:
391- # - name: _BuildConfig
392- # value: Debug
393- # steps:
394- # - checkout: self
395- # clean: true
396- # - script: .\Build.cmd
397- # displayName: Initial build
398- # - script: dotnet --list-sdks
399- # displayName: Report dotnet SDK versions
400- # - script: dotnet build .\FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
401- # displayName: Regular rebuild
343+ - ${{ if eq(variables['System.TeamProject'], 'public') }} :
344+ - template : /eng/common/templates/jobs/jobs.yml
345+ parameters :
346+ enableMicrobuild : true
347+ enablePublishTestResults : false
348+ enablePublishBuildAssets : true
349+ enablePublishUsingPipelines : false
350+ enableTelemetry : true
351+ helixRepo : dotnet/fsharp
352+ jobs :
402353
403- # Plain build Linux
404- - job : Plain_Build_Linux
354+ - job : Windows_FCS
405355 pool :
406- vmImage : ubuntu-latest
356+ vmImage : windows-2019
407357 variables :
408- - name : _BuildConfig
409- value : Debug
358+ - name : _SignType
359+ value : Test
410360 steps :
411361 - checkout : self
412362 clean : true
413- - script : ./build.sh
414- displayName : Initial build
415- - script : dotnet --list-sdks
416- displayName : Report dotnet SDK versions
417- - script : dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
418- displayName : Regular rebuild
363+ - task : UseDotNet@2
364+ displayName : ' Use .NET Core sdk'
365+ inputs :
366+ useGlobalJson : true
367+ workingDirectory : fcs
368+ - script : fcs\build.cmd TestAndNuget
369+ displayName : Build / Test
370+ - task : PublishTestResults@2
371+ displayName : Publish Test Results
372+ inputs :
373+ testResultsFormat : ' NUnit'
374+ testResultsFiles : ' *.xml'
375+ searchFolder : ' $(Build.SourcesDirectory)/artifacts/TestResults/Release'
376+ publishRunAttachments : true
377+ continueOnError : true
378+ condition : always()
419379
420- # Plain build Mac
421- - job : Plain_Build_MacOS
380+ - job : Linux_FCS
422381 pool :
423- vmImage : macos -latest
382+ vmImage : ubuntu -latest
424383 variables :
425- - name : _BuildConfig
426- value : Debug
384+ - name : _SignType
385+ value : Test
427386 steps :
428387 - checkout : self
429388 clean : true
430- - script : ./build.sh
431- displayName : Initial build
432- - script : dotnet --list-sdks
433- displayName : Report dotnet SDK versions
434- - script : dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
435- displayName : Regular rebuild
389+ - task : UseDotNet@2
390+ displayName : ' Use .NET Core sdk'
391+ inputs :
392+ useGlobalJson : true
393+ workingDirectory : fcs
394+ - script : ./fcs/build.sh
395+ displayName : Build / Test
396+ - task : PublishTestResults@2
397+ displayName : Publish Test Results
398+ inputs :
399+ testResultsFormat : ' NUnit'
400+ testResultsFiles : ' *.xml'
401+ searchFolder : ' $(Build.SourcesDirectory)/artifacts/TestResults/Release'
402+ publishRunAttachments : true
403+ continueOnError : true
404+ condition : always()
436405
437- # Arcade-powered source build
438- # turned off until https://github.com/dotnet/source-build/issues/1795 is fixed
439- # - template: /eng/common/templates/jobs/jobs.yml
440- # parameters:
441- # enablePublishUsingPipelines: true
442- # enablePublishBuildArtifacts: true
443- # enablePublishBuildAssets: true
444- # artifacts:
445- # publish:
446- # artifacts: true
447- # manifests: true
448- # runSourceBuild: true
449- # sourceBuildParameters:
450- # includeDefaultManagedPlatform: true
406+ - job : MacOS_FCS
407+ pool :
408+ vmImage : macOS-latest
409+ variables :
410+ - name : _SignType
411+ value : Test
412+ steps :
413+ - checkout : self
414+ clean : true
415+ - task : UseDotNet@2
416+ displayName : ' Use .NET Core sdk'
417+ inputs :
418+ useGlobalJson : true
419+ workingDirectory : fcs
420+ - script : ./fcs/build.sh
421+ displayName : Build / Test
422+ - task : PublishTestResults@2
423+ displayName : Publish Test Results
424+ inputs :
425+ testResultsFormat : ' NUnit'
426+ testResultsFiles : ' *.xml'
427+ searchFolder : ' $(Build.SourcesDirectory)/artifacts/TestResults/Release'
428+ publishRunAttachments : true
429+ continueOnError : true
430+ condition : always()
451431
452432# ---------------------------------------------------------------------------------------------------------------------#
453433# Post Build #
454434# ---------------------------------------------------------------------------------------------------------------------#
455435- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }} :
456436 - template : eng/common/templates/post-build/post-build.yml
457437 parameters :
458- publishingInfraVersion : 3
459438 # Symbol validation is not entirely reliable as of yet, so should be turned off until https://github.com/dotnet/arcade/issues/2871 is resolved.
460439 enableSymbolValidation : false
461440 # SourceLink improperly looks for generated files. See https://github.com/dotnet/arcade/issues/3069
@@ -467,7 +446,7 @@ stages:
467446- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }} :
468447 - template : eng/release/insert-into-vs.yml
469448 parameters :
470- componentBranchName : release/dev16.8
449+ componentBranchName : refs/heads/ release/dev16.8
471450 insertTargetBranch : master
472451 insertTeamEmail :
[email protected] 473452 insertTeamName : ' F#'
0 commit comments