Skip to content

Commit 7d5cba7

Browse files
authored
Merge branch 'main' into copilot/fix-18686
2 parents 312cdbd + 30a9258 commit 7d5cba7

File tree

23 files changed

+261
-49
lines changed

23 files changed

+261
-49
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,16 @@ micro.exe
132132
positive.exe
133133
/tests/FSharp.Compiler.ComponentTests/FSharpChecker/StandardError.txt
134134
/tests/FSharp.Compiler.ComponentTests/FSharpChecker/StandardOutput.txt
135+
/tests/FSharp.Compiler.ComponentTests/TestResults/
135136

136137
# ilverify baseline result files
137138
*.bsl.actual
138139
/src/FSharp.DependencyManager.Nuget/StandardError.txt
139140
/src/FSharp.DependencyManager.Nuget/StandardOutput.txt
140141

142+
# Test result files
143+
tests/**/TestResults/*.trx
144+
141145
# Standard output/error files in root directory
142146
StandardOutput.txt
143147
StandardError.txt

docs/release-notes/.FSharp.Compiler.Service/10.0.100.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
### Fixed
66

7+
* Fix SignatureHash to include constant values in hash computation ([Issue #18758](https://github.com/dotnet/fsharp/issues/18758))
78
* Fix parsing errors using anonymous records and units of measures ([PR #18543](https://github.com/dotnet/fsharp/pull/18543))
89
* Fix parsing errors using anonymous records and code quotations ([PR #18603](https://github.com/dotnet/fsharp/pull/18603))
910
* Better error message for attribute targets. ([PR #18641](https://github.com/dotnet/fsharp/pull/18641))

docs/release-notes/.Language/preview.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
* Fix parsing errors using anonymous records and units of measures ([PR #18543](https://github.com/dotnet/fsharp/pull/18543))
1010
* Scoped Nowarn: added the #warnon compiler directive ([Language suggestion #278](https://github.com/fsharp/fslang-suggestions/issues/278), [RFC FS-1146 PR](https://github.com/fsharp/fslang-design/pull/782), [PR #18049](https://github.com/dotnet/fsharp/pull/18049))
1111
* Allow `let!` and `use!` type annotations without requiring parentheses. ([PR #18508](https://github.com/dotnet/fsharp/pull/18508))
12+
* Exception names are now validated for illegal characters using the same mechanism as types/modules/namespaces ([Issue #18763](https://github.com/dotnet/fsharp/issues/18763))
1213

1314
### Fixed
1415

eng/Version.Details.xml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,29 +36,29 @@
3636
</Dependency>
3737
</ProductDependencies>
3838
<ToolsetDependencies>
39-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25367.5">
39+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25374.4">
4040
<Uri>https://github.com/dotnet/arcade</Uri>
41-
<Sha>d777c20040bdc2e52b372fa98dcb84141ed692d3</Sha>
41+
<Sha>e2fed65f9c524d12c64876194ae4ce177b935bb3</Sha>
4242
</Dependency>
43-
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.25364.1">
43+
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.25374.3">
4444
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
45-
<Sha>c79fe70760b7052d414b125a5916c014c8724d61</Sha>
45+
<Sha>19381a50e687f98b824327a282f973f4de52f26b</Sha>
4646
</Dependency>
47-
<Dependency Name="optimization.windows_nt-x86.MIBC.Runtime" Version="1.0.0-prerelease.25364.1">
47+
<Dependency Name="optimization.windows_nt-x86.MIBC.Runtime" Version="1.0.0-prerelease.25374.3">
4848
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
49-
<Sha>c79fe70760b7052d414b125a5916c014c8724d61</Sha>
49+
<Sha>19381a50e687f98b824327a282f973f4de52f26b</Sha>
5050
</Dependency>
51-
<Dependency Name="optimization.linux-x64.MIBC.Runtime" Version="1.0.0-prerelease.25364.1">
51+
<Dependency Name="optimization.linux-x64.MIBC.Runtime" Version="1.0.0-prerelease.25374.3">
5252
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
53-
<Sha>c79fe70760b7052d414b125a5916c014c8724d61</Sha>
53+
<Sha>19381a50e687f98b824327a282f973f4de52f26b</Sha>
5454
</Dependency>
55-
<Dependency Name="optimization.windows_nt-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25364.1">
55+
<Dependency Name="optimization.windows_nt-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25374.3">
5656
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
57-
<Sha>c79fe70760b7052d414b125a5916c014c8724d61</Sha>
57+
<Sha>19381a50e687f98b824327a282f973f4de52f26b</Sha>
5858
</Dependency>
59-
<Dependency Name="optimization.linux-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25364.1">
59+
<Dependency Name="optimization.linux-arm64.MIBC.Runtime" Version="1.0.0-prerelease.25374.3">
6060
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>
61-
<Sha>c79fe70760b7052d414b125a5916c014c8724d61</Sha>
61+
<Sha>19381a50e687f98b824327a282f973f4de52f26b</Sha>
6262
</Dependency>
6363
</ToolsetDependencies>
6464
</Dependencies>

eng/Versions.props

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,10 @@
208208
<HumanizerCoreVersion>2.2.0</HumanizerCoreVersion>
209209
<!-- -->
210210
<!-- MIBC profile packages -->
211-
<optimizationwindows_ntx64MIBCRuntimeVersion>1.0.0-prerelease.25364.1</optimizationwindows_ntx64MIBCRuntimeVersion>
212-
<optimizationwindows_ntx86MIBCRuntimeVersion>1.0.0-prerelease.25364.1</optimizationwindows_ntx86MIBCRuntimeVersion>
213-
<optimizationwindows_ntarm64MIBCRuntimeVersion>1.0.0-prerelease.25364.1</optimizationwindows_ntarm64MIBCRuntimeVersion>
214-
<optimizationlinuxx64MIBCRuntimeVersion>1.0.0-prerelease.25364.1</optimizationlinuxx64MIBCRuntimeVersion>
215-
<optimizationlinuxarm64MIBCRuntimeVersion>1.0.0-prerelease.25364.1</optimizationlinuxarm64MIBCRuntimeVersion>
211+
<optimizationwindows_ntx64MIBCRuntimeVersion>1.0.0-prerelease.25374.3</optimizationwindows_ntx64MIBCRuntimeVersion>
212+
<optimizationwindows_ntx86MIBCRuntimeVersion>1.0.0-prerelease.25374.3</optimizationwindows_ntx86MIBCRuntimeVersion>
213+
<optimizationwindows_ntarm64MIBCRuntimeVersion>1.0.0-prerelease.25374.3</optimizationwindows_ntarm64MIBCRuntimeVersion>
214+
<optimizationlinuxx64MIBCRuntimeVersion>1.0.0-prerelease.25374.3</optimizationlinuxx64MIBCRuntimeVersion>
215+
<optimizationlinuxarm64MIBCRuntimeVersion>1.0.0-prerelease.25374.3</optimizationlinuxarm64MIBCRuntimeVersion>
216216
</PropertyGroup>
217217
</Project>

eng/common/core-templates/job/job.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ parameters:
2020
artifacts: ''
2121
enableMicrobuild: false
2222
enableMicrobuildForMacAndLinux: false
23+
microbuildUseESRP: true
2324
enablePublishBuildArtifacts: false
2425
enablePublishBuildAssets: false
2526
enablePublishTestResults: false
@@ -128,6 +129,7 @@ jobs:
128129
parameters:
129130
enableMicrobuild: ${{ parameters.enableMicrobuild }}
130131
enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }}
132+
microbuildUseESRP: ${{ parameters.microbuildUseESRP }}
131133
continueOnError: ${{ parameters.continueOnError }}
132134

133135
- ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:

eng/common/core-templates/jobs/jobs.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ jobs:
8383
- template: /eng/common/core-templates/jobs/source-build.yml
8484
parameters:
8585
is1ESPipeline: ${{ parameters.is1ESPipeline }}
86-
allCompletedJobId: Source_Build_Complete
8786
${{ each parameter in parameters.sourceBuildParameters }}:
8887
${{ parameter.key }}: ${{ parameter.value }}
8988

@@ -108,8 +107,6 @@ jobs:
108107
- ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
109108
- ${{ each job in parameters.jobs }}:
110109
- ${{ job.job }}
111-
- ${{ if eq(parameters.enableSourceBuild, true) }}:
112-
- Source_Build_Complete
113110

114111
runAsPublic: ${{ parameters.runAsPublic }}
115112
publishAssetsImmediately: ${{ or(parameters.publishAssetsImmediately, parameters.isAssetlessBuild) }}

eng/common/core-templates/jobs/source-build.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,6 @@ parameters:
22
# This template adds arcade-powered source-build to CI. A job is created for each platform, as
33
# well as an optional server job that completes when all platform jobs complete.
44

5-
# The name of the "join" job for all source-build platforms. If set to empty string, the job is
6-
# not included. Existing repo pipelines can use this job depend on all source-build jobs
7-
# completing without maintaining a separate list of every single job ID: just depend on this one
8-
# server job. By default, not included. Recommended name if used: 'Source_Build_Complete'.
9-
allCompletedJobId: ''
10-
115
# See /eng/common/core-templates/job/source-build.yml
126
jobNamePrefix: 'Source_Build'
137

@@ -31,16 +25,6 @@ parameters:
3125

3226
jobs:
3327

34-
- ${{ if ne(parameters.allCompletedJobId, '') }}:
35-
- job: ${{ parameters.allCompletedJobId }}
36-
displayName: Source-Build Complete
37-
pool: server
38-
dependsOn:
39-
- ${{ each platform in parameters.platforms }}:
40-
- ${{ parameters.jobNamePrefix }}_${{ platform.name }}
41-
- ${{ if eq(length(parameters.platforms), 0) }}:
42-
- ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }}
43-
4428
- ${{ each platform in parameters.platforms }}:
4529
- template: /eng/common/core-templates/job/source-build.yml
4630
parameters:

eng/common/core-templates/steps/install-microbuild.yml

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,16 @@ parameters:
44
# Enable install tasks for MicroBuild on Mac and Linux
55
# Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT'
66
enableMicrobuildForMacAndLinux: false
7+
# Determines whether the ESRP service connection information should be passed to the signing plugin.
8+
# This overlaps with _SignType to some degree. We only need the service connection for real signing.
9+
# It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place.
10+
# Doing so will cause the service connection to be authorized for the pipeline, which isn't allowed and won't work for non-prod.
11+
# Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The
12+
# variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough.
13+
microbuildUseESRP: true
714
# Location of the MicroBuild output folder
815
microBuildOutputFolder: '$(Build.SourcesDirectory)'
16+
917
continueOnError: false
1018

1119
steps:
@@ -21,19 +29,37 @@ steps:
2129
workingDirectory: ${{ parameters.microBuildOutputFolder }}
2230
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
2331

32+
- script: |
33+
REM Check if ESRP is disabled while SignType is real
34+
if /I "${{ parameters.microbuildUseESRP }}"=="false" if /I "$(_SignType)"=="real" (
35+
echo Error: ESRP must be enabled when SignType is real.
36+
exit /b 1
37+
)
38+
displayName: 'Validate ESRP usage (Windows)'
39+
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
40+
- script: |
41+
# Check if ESRP is disabled while SignType is real
42+
if [ "${{ parameters.microbuildUseESRP }}" = "false" ] && [ "$(_SignType)" = "real" ]; then
43+
echo "Error: ESRP must be enabled when SignType is real."
44+
exit 1
45+
fi
46+
displayName: 'Validate ESRP usage (Non-Windows)'
47+
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
48+
2449
- task: MicroBuildSigningPlugin@4
2550
displayName: Install MicroBuild plugin
2651
inputs:
2752
signType: $(_SignType)
2853
zipSources: false
2954
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
30-
${{ if and(eq(parameters.enableMicrobuildForMacAndLinux, 'true'), ne(variables['Agent.Os'], 'Windows_NT')) }}:
31-
azureSubscription: 'MicroBuild Signing Task (DevDiv)'
32-
useEsrpCli: true
33-
${{ elseif eq(variables['System.TeamProject'], 'DevDiv') }}:
34-
ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
35-
${{ else }}:
36-
ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
55+
${{ if eq(parameters.microbuildUseESRP, true) }}:
56+
${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
57+
azureSubscription: 'MicroBuild Signing Task (DevDiv)'
58+
useEsrpCli: true
59+
${{ elseif eq(variables['System.TeamProject'], 'DevDiv') }}:
60+
ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
61+
${{ else }}:
62+
ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
3763
env:
3864
TeamName: $(_TeamName)
3965
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"perl": "5.38.2.2"
2323
},
2424
"msbuild-sdks": {
25-
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25367.5",
25+
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25374.4",
2626
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23255.2"
2727
}
2828
}

0 commit comments

Comments
 (0)