Skip to content
This repository was archived by the owner on Dec 23, 2024. It is now read-only.

Commit 1cac11e

Browse files
brettfonosami
authored andcommitted
use 5.0 sdk (dotnet#10179)
1 parent a0ed7f2 commit 1cac11e

File tree

7 files changed

+177
-130
lines changed

7 files changed

+177
-130
lines changed

DEVGUIDE.md

+2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ Install the latest released [Visual Studio](https://www.visualstudio.com/downloa
4444
* .NET desktop development (also check F# desktop support, as this will install some legacy templates)
4545
* Visual Studio extension development
4646

47+
You will also need the latest .NET 5 SDK installed from [here](https://dotnet.microsoft.com/download/dotnet/5.0).
48+
4749
Building is simple:
4850

4951
build.cmd

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
You're invited to contribute to future releases of the F# compiler, core library, and tools. Development of this repository can be done on any OS supported by [.NET Core](https://dotnet.microsoft.com/).
44

5+
You will also need the latest .NET 5 SDK installed from [here](https://dotnet.microsoft.com/download/dotnet/5.0).
6+
57
## Contributing
68

79
### Quickstart on Windows

azure-pipelines.yml

+167-126
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,49 @@
11
# CI and PR triggers
22
trigger:
3-
- master
4-
- dev16.1
5-
- feature/*
6-
- release/*
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+
725
pr:
8-
- master
9-
- dev16.1
10-
- feature/*
11-
- release/*
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
1247

1348
variables:
1449
- name: _TeamName
@@ -21,6 +56,8 @@ variables:
2156
value: .NETCore
2257
- name: VisualStudioDropName
2358
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)
59+
- name: DotNetSdkVersion
60+
value: '5.0.100'
2461
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
2562
- name: RunningAsPullRequest
2663
value: true
@@ -289,28 +326,6 @@ stages:
289326
- script: .\tests\EndToEndBuildTests\EndToEndBuildTests.cmd -c Release
290327
displayName: End to end build tests
291328

292-
# Source Build Linux - disabled until MSBuild/NuGet issues are resolved
293-
# - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
294-
# - job: SourceBuild_Linux
295-
# pool:
296-
# vmImage: ubuntu-latest
297-
# steps:
298-
# - checkout: self
299-
# clean: true
300-
# - script: ./eng/cibuild.sh --configuration Release /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
301-
# displayName: Build
302-
# - script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj
303-
# displayName: Dump NuGet cache contents
304-
# condition: failed()
305-
# - task: PublishBuildArtifacts@1
306-
# displayName: Publish NuGet cache contents
307-
# inputs:
308-
# PathtoPublish: '$(Build.SourcesDirectory)/artifacts/NugetPackageRootContents'
309-
# ArtifactName: 'NuGetPackageContents SourceBuild_Linux'
310-
# publishLocation: Container
311-
# continueOnError: true
312-
# condition: failed()
313-
314329
# Source Build Windows
315330
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
316331
- job: SourceBuild_Windows
@@ -319,132 +334,158 @@ stages:
319334
steps:
320335
- checkout: self
321336
clean: true
322-
- script: eng\CIBuild.cmd -configuration Release -noSign /p:DotNetBuildFromSource=true /p:FSharpSourceBuild=true
337+
- script: eng\CIBuild.cmd -configuration Release -noSign -prepareMachine -sourceBuild
323338
displayName: Build
324-
- script: dotnet build $(Build.SourcesDirectory)/eng/DumpPackageRoot/DumpPackageRoot.csproj
325-
displayName: Dump NuGet cache contents
326-
condition: failed()
339+
- task: PublishPipelineArtifact@1
340+
displayName: Publish Logs
341+
inputs:
342+
targetPath: '$(Build.SourcesDirectory)/artifacts/log/Release'
343+
artifactName: 'SourceBuild_Windows Logs'
344+
continueOnError: true
345+
condition: not(succeeded())
327346
- task: PublishBuildArtifacts@1
328-
displayName: Publish NuGet cache contents
347+
displayName: Publish Logs
329348
inputs:
330-
PathtoPublish: '$(Build.SourcesDirectory)\artifacts\NugetPackageRootContents'
331-
ArtifactName: 'NuGetPackageContents SourceBuild_Windows'
349+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/Release'
350+
ArtifactName: 'SourceBuild_Windows_Test'
332351
publishLocation: Container
333352
continueOnError: true
334-
condition: failed()
353+
condition: not(succeeded())
335354

336-
# Up-to-date
337-
- job: UpToDate_Windows
338-
pool:
339-
vmImage: windows-2019
340-
steps:
341-
- checkout: self
342-
clean: true
343-
- task: PowerShell@2
344-
displayName: Run up-to-date build check
345-
inputs:
346-
filePath: eng\tests\UpToDate.ps1
347-
arguments: -configuration $(_BuildConfig) -ci -binaryLog
355+
# Up-to-date - disabled due to it being flaky
356+
#- job: UpToDate_Windows
357+
# pool:
358+
# vmImage: windows-2019
359+
# steps:
360+
# - checkout: self
361+
# clean: true
362+
# - task: PowerShell@2
363+
# displayName: Run up-to-date build check
364+
# inputs:
365+
# filePath: eng\tests\UpToDate.ps1
366+
# arguments: -configuration $(_BuildConfig) -ci -binaryLog
348367

349-
#-------------------------------------------------------------------------------------------------------------------#
350-
# FCS builds #
351-
#-------------------------------------------------------------------------------------------------------------------#
352-
353-
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
354-
- template: /eng/common/templates/jobs/jobs.yml
355-
parameters:
356-
enableMicrobuild: true
357-
enablePublishTestResults: false
358-
enablePublishBuildAssets: true
359-
enablePublishUsingPipelines: false
360-
enableTelemetry: true
361-
helixRepo: dotnet/fsharp
362-
jobs:
368+
# Source Build Semi-Official
369+
# used until https://github.com/dotnet/source-build/issues/1795 is fixed
370+
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
371+
- job: SourceBuild_Official
372+
pool:
373+
name: NetCorePublic-Pool
374+
queue: BuildPool.Ubuntu.1604.amd64.Open
375+
timeoutInMinutes: 90
376+
steps:
377+
- checkout: self
378+
clean: true
379+
- script: ./eng/cibuild.sh --configuration Release --prepareMachine --docker --sourceBuild
380+
displayName: Build
381+
- task: PublishPipelineArtifact@1
382+
displayName: Publish Logs
383+
inputs:
384+
targetPath: '$(Build.SourcesDirectory)/artifacts/log/Release'
385+
artifactName: 'SourceBuild_Official Logs'
386+
continueOnError: true
387+
condition: not(succeeded())
388+
- task: PublishBuildArtifacts@1
389+
displayName: Publish Logs
390+
inputs:
391+
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/Release'
392+
ArtifactName: 'SourceBuild_Official_Test'
393+
publishLocation: Container
394+
continueOnError: true
395+
condition: not(succeeded())
363396

364-
- job: Windows_FCS
365-
pool:
366-
vmImage: windows-2019
367-
variables:
368-
- name: _SignType
369-
value: Test
370-
steps:
371-
- checkout: self
372-
clean: true
373-
- task: UseDotNet@2
374-
displayName: 'Use .NET Core sdk'
375-
inputs:
376-
useGlobalJson: true
377-
workingDirectory: fcs
378-
- script: fcs\build.cmd TestAndNuget
379-
displayName: Build / Test
380-
- task: PublishTestResults@2
381-
displayName: Publish Test Results
382-
inputs:
383-
testResultsFormat: 'NUnit'
384-
testResultsFiles: '*.xml'
385-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release'
386-
publishRunAttachments: true
387-
continueOnError: true
388-
condition: always()
397+
# Plain build Windows
398+
# Disabled until the Windows Proto compiler is coreclr
399+
# - job: Plain_Build_Windows
400+
# pool:
401+
# vmImage: windows-latest
402+
# variables:
403+
# - name: _BuildConfig
404+
# value: Debug
405+
# steps:
406+
# - checkout: self
407+
# clean: true
408+
# - script: .\Build.cmd
409+
# displayName: Initial build
410+
# - script: dotnet --list-sdks
411+
# displayName: Report dotnet SDK versions
412+
# - task: UseDotNet@2
413+
# displayName: install SDK
414+
# inputs:
415+
# packageType: sdk
416+
# version: $(DotNetSdkVersion)
417+
# installationPath: $(Agent.ToolsDirectory)/dotnet
418+
# - script: dotnet build .\FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
419+
# displayName: Regular rebuild
389420

390-
- job: Linux_FCS
421+
# Plain build Linux
422+
- job: Plain_Build_Linux
391423
pool:
392424
vmImage: ubuntu-latest
393425
variables:
394-
- name: _SignType
395-
value: Test
426+
- name: _BuildConfig
427+
value: Debug
396428
steps:
397429
- checkout: self
398430
clean: true
431+
- script: ./build.sh
432+
displayName: Initial build
433+
- script: dotnet --list-sdks
434+
displayName: Report dotnet SDK versions
399435
- task: UseDotNet@2
400-
displayName: 'Use .NET Core sdk'
401-
inputs:
402-
useGlobalJson: true
403-
workingDirectory: fcs
404-
- script: ./fcs/build.sh
405-
displayName: Build / Test
406-
- task: PublishTestResults@2
407-
displayName: Publish Test Results
436+
displayName: install SDK
408437
inputs:
409-
testResultsFormat: 'NUnit'
410-
testResultsFiles: '*.xml'
411-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release'
412-
publishRunAttachments: true
413-
continueOnError: true
414-
condition: always()
438+
packageType: sdk
439+
version: $(DotNetSdkVersion)
440+
installationPath: $(Agent.ToolsDirectory)/dotnet
441+
- script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
442+
displayName: Regular rebuild
415443

416-
- job: MacOS_FCS
444+
# Plain build Mac
445+
- job: Plain_Build_MacOS
417446
pool:
418-
vmImage: macOS-latest
447+
vmImage: macos-latest
419448
variables:
420-
- name: _SignType
421-
value: Test
449+
- name: _BuildConfig
450+
value: Debug
422451
steps:
423452
- checkout: self
424453
clean: true
454+
- script: ./build.sh
455+
displayName: Initial build
456+
- script: dotnet --list-sdks
457+
displayName: Report dotnet SDK versions
425458
- task: UseDotNet@2
426-
displayName: 'Use .NET Core sdk'
459+
displayName: install SDK
427460
inputs:
428-
useGlobalJson: true
429-
workingDirectory: fcs
430-
- script: ./fcs/build.sh
431-
displayName: Build / Test
432-
- task: PublishTestResults@2
433-
displayName: Publish Test Results
434-
inputs:
435-
testResultsFormat: 'NUnit'
436-
testResultsFiles: '*.xml'
437-
searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/Release'
438-
publishRunAttachments: true
439-
continueOnError: true
440-
condition: always()
461+
packageType: sdk
462+
version: $(DotNetSdkVersion)
463+
installationPath: $(Agent.ToolsDirectory)/dotnet
464+
- script: dotnet build ./FSharp.sln /bl:\"artifacts/log/$(_BuildConfig)/RegularBuild.binlog\"
465+
displayName: Regular rebuild
466+
467+
# Arcade-powered source build
468+
# turned off until https://github.com/dotnet/source-build/issues/1795 is fixed
469+
# - template: /eng/common/templates/jobs/jobs.yml
470+
# parameters:
471+
# enablePublishUsingPipelines: true
472+
# enablePublishBuildArtifacts: true
473+
# enablePublishBuildAssets: true
474+
# artifacts:
475+
# publish:
476+
# artifacts: true
477+
# manifests: true
478+
# runSourceBuild: true
479+
# sourceBuildParameters:
480+
# includeDefaultManagedPlatform: true
441481

442482
#---------------------------------------------------------------------------------------------------------------------#
443483
# Post Build #
444484
#---------------------------------------------------------------------------------------------------------------------#
445485
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
446486
- template: eng/common/templates/post-build/post-build.yml
447487
parameters:
488+
publishingInfraVersion: 3
448489
# Symbol validation is not entirely reliable as of yet, so should be turned off until https://github.com/dotnet/arcade/issues/2871 is resolved.
449490
enableSymbolValidation: false
450491
# SourceLink improperly looks for generated files. See https://github.com/dotnet/arcade/issues/3069
@@ -456,7 +497,7 @@ stages:
456497
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
457498
- template: eng/release/insert-into-vs.yml
458499
parameters:
459-
componentBranchName: refs/heads/release/dev16.8
460-
insertTargetBranch: rel/d16.8
500+
componentBranchName: release/dev16.8
501+
insertTargetBranch: master
461502
insertTeamEmail: [email protected]
462503
insertTeamName: 'F#'

global.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"sdk": {
3-
"version": "3.1.302",
3+
"version": "5.0.100",
44
"rollForward": "minor"
55
},
66
"tools": {
7-
"dotnet": "3.1.302",
7+
"dotnet": "5.0.100",
88
"vs": {
9-
"version": "16.4",
9+
"version": "16.8",
1010
"components": [
1111
"Microsoft.VisualStudio.Component.FSharp"
1212
]

0 commit comments

Comments
 (0)