Skip to content

Commit 51f1efa

Browse files
authored
Merge branch 'main' into ml
2 parents 9bd47af + 9c5cb49 commit 51f1efa

File tree

53 files changed

+1866
-304
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1866
-304
lines changed

.github/workflows/commands.yml

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,45 @@ on:
55
types: [created]
66

77
jobs:
8+
authorize_commenter:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: read
12+
pull-requests: read
13+
outputs:
14+
allowed: ${{ steps.check.outputs.allowed }}
15+
steps:
16+
- name: Check commenter write access
17+
id: check
18+
uses: actions/github-script@v7
19+
with:
20+
github-token: ${{ secrets.GITHUB_TOKEN }}
21+
script: |
22+
const actor = context.payload.comment.user.login;
23+
const repo_owner = context.payload.repository.owner.login;
24+
const repo_name = context.payload.repository.name;
25+
try {
26+
const { data: permission } = await github.rest.repos.getCollaboratorPermissionLevel({
27+
owner: repo_owner,
28+
repo: repo_name,
29+
username: actor
30+
});
31+
const allowed = ['admin', 'write'].includes(permission.permission);
32+
core.setOutput('allowed', allowed ? 'true' : 'false');
33+
} catch (e) {
34+
core.setOutput('allowed', 'false');
35+
}
36+
837
parsing_job:
38+
needs: authorize_commenter
939
runs-on: ubuntu-latest
1040
permissions:
1141
issues: write # Allow adding a reaction via the comment-pipeline
1242
pull-requests: write
1343
outputs:
1444
command: ${{ steps.parse.outputs.command }}
1545
arg: ${{ steps.parse.outputs.arguments }}
16-
if: github.event.issue.pull_request
46+
if: needs.authorize_commenter.outputs.allowed == 'true' && github.event.issue.pull_request
1747
steps:
1848
- name: Parse comment
1949
id: parse
@@ -27,13 +57,13 @@ jobs:
2757
/run test-baseline
2858
github-token: ${{ secrets.GITHUB_TOKEN }}
2959

30-
# This second job by definiton runs user-supplied code - you must NOT elevate its permissions to `write`
31-
# Malicious code could change nuget source URL, build targets or even compiler itself to pass a GH token
32-
# And use it to create branches, spam issues etc. Any write-actions happen in the second job, which does not allow
33-
# user extension points (i.e. plain scripts, must NOT run scripts from within checked-out code)
60+
# This second job by definition runs user-supplied code - you must NOT elevate its permissions to `write`
3461
run-parsed-command:
3562
needs: parsing_job
3663
runs-on: ubuntu-latest
64+
permissions:
65+
contents: read
66+
pull-requests: read
3767
if: needs.parsing_job.outputs.command != ''
3868
steps:
3969

@@ -130,6 +160,19 @@ jobs:
130160
echo "run_step_outcome=$run_step_outcome" >> $GITHUB_OUTPUT
131161
echo "hasPatch=$hasPatch" >> $GITHUB_OUTPUT
132162
163+
- name: Validate patch paths
164+
if: ${{ steps.read-meta.outputs.run_step_outcome == 'success' && steps.read-meta.outputs.hasPatch == 'true' }}
165+
run: |
166+
# Forbid any .git* paths anywhere
167+
if grep -E '^(\+\+\+|---) ' repo.patch | grep -E '(^|/)\.git(/|$)|(^|/)\.git'; then
168+
echo "Patch touches .git paths; aborting"; exit 1
169+
fi
170+
171+
# Allow only top-level src/, tests/, vsintegration/ changes
172+
if grep -E '^(\+\+\+|---) ' repo.patch | grep -Ev '^(---|\+\+\+) (a|b)/(src|tests|vsintegration)/' | grep -E '^(---|\+\+\+) '; then
173+
echo "Patch touches files outside allowed directories (src/tests/vsintegration); aborting"; exit 1
174+
fi
175+
133176
- name: Apply and push patch
134177
if: ${{ steps.read-meta.outputs.run_step_outcome == 'success' && steps.read-meta.outputs.hasPatch == 'true' }}
135178
run: |
@@ -142,7 +185,6 @@ jobs:
142185
echo "Pushing to origin $branch"
143186
git push origin HEAD:"$branch"
144187
145-
146188
- name: Count stats
147189
id: stats
148190
if: ${{ steps.read-meta.outputs.run_step_outcome == 'success' && steps.read-meta.outputs.hasPatch == 'true' }}
@@ -189,8 +231,6 @@ jobs:
189231
if: always()
190232
env:
191233
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
192-
PR_NUMBER: ${{ env.PR_NUMBER }}
193234
run: |
194-
# Use gh CLI to comment with multi-line markdown
195235
gh pr comment ${{ github.event.issue.number }} \
196236
--body-file pr_report.md

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
* Type relations cache: optimize key generation ([Issue #19116](https://github.com/dotnet/fsharp/issues/18767)) ([PR #19120](https://github.com/dotnet/fsharp/pull/19120))
44

5+
### Added
6+
7+
* FSharpDiagnostic: add default severity ([#19152](https://github.com/dotnet/fsharp/pull/19152))
8+
59
### Breaking Changes
610

711
* `SynExpr.LetOrUse` holds `SynLetOrUse`. ([PR #19090](https://github.com/dotnet/fsharp/pull/19090))

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
* Add FSharpCodeCompletionOptions ([PR #19030](https://github.com/dotnet/fsharp/pull/19030))
2121
* Type checker: recover on checking binding parameter constraints ([#19046](https://github.com/dotnet/fsharp/pull/19046))
2222
* Debugger: provide breakpoint ranges for short lambdas ([#19067](https://github.com/dotnet/fsharp/pull/19067))
23+
* FSharpDiagnostic: add default severity ([#19152](https://github.com/dotnet/fsharp/pull/19152))
2324

2425
### Changed
2526

eng/Version.Details.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ This file should be imported by eng/Versions.props
2727
<MicrosoftCodeAnalysisFeaturesPackageVersion>5.0.0-2.25480.7</MicrosoftCodeAnalysisFeaturesPackageVersion>
2828
<MicrosoftVisualStudioLanguageServicesPackageVersion>5.0.0-2.25480.7</MicrosoftVisualStudioLanguageServicesPackageVersion>
2929
<!-- dotnet/arcade dependencies -->
30-
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.25603.2</MicrosoftDotNetArcadeSdkPackageVersion>
30+
<MicrosoftDotNetArcadeSdkPackageVersion>11.0.0-beta.25617.1</MicrosoftDotNetArcadeSdkPackageVersion>
3131
<!-- _git/dotnet-optimization dependencies -->
3232
<optimizationlinuxarm64MIBCRuntimePackageVersion>1.0.0-prerelease.25502.1</optimizationlinuxarm64MIBCRuntimePackageVersion>
3333
<optimizationlinuxx64MIBCRuntimePackageVersion>1.0.0-prerelease.25502.1</optimizationlinuxx64MIBCRuntimePackageVersion>

eng/Version.Details.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Dependencies>
3-
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="29eefe27a350eb8b0bcbababa7863a0d1086295d" BarId="293166" />
3+
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="5661a2c0a84a3fd32916395b254ce50e5ad7e9fe" BarId="295411" />
44
<ProductDependencies>
55
<Dependency Name="Microsoft.Build" Version="18.1.0-preview-25515-01">
66
<Uri>https://github.com/dotnet/msbuild</Uri>
@@ -76,9 +76,9 @@
7676
</Dependency>
7777
</ProductDependencies>
7878
<ToolsetDependencies>
79-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.25603.2">
79+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="11.0.0-beta.25617.1">
8080
<Uri>https://github.com/dotnet/arcade</Uri>
81-
<Sha>9851192f7f7a7ee352358cce2627160fd1f2a54e</Sha>
81+
<Sha>47a8a69721dfea57b82121ac1458d2f5bba6abd2</Sha>
8282
</Dependency>
8383
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.25502.1">
8484
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-optimization</Uri>

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
<MicrosoftVisualStudioLanguageIntellisenseVersion>$(VisualStudioEditorPackagesVersion)</MicrosoftVisualStudioLanguageIntellisenseVersion>
134134
<MicrosoftVisualStudioPlatformVSEditorVersion>$(VisualStudioEditorPackagesVersion)</MicrosoftVisualStudioPlatformVSEditorVersion>
135135
<MicrosoftVisualStudioTextUIWpfVersion>$(VisualStudioEditorPackagesVersion)</MicrosoftVisualStudioTextUIWpfVersion>
136-
<NuGetSolutionRestoreManagerInteropVersion>5.6.0</NuGetSolutionRestoreManagerInteropVersion>
136+
<NuGetVisualStudioVersion>17.14.0</NuGetVisualStudioVersion>
137137
<MicrosoftVisualStudioExtensibilityTestingVersion>0.1.800-beta</MicrosoftVisualStudioExtensibilityTestingVersion>
138138
<MicrosoftVisualStudioExtensibilityTestingSourceGeneratorVersion>$(MicrosoftVisualStudioExtensibilityTestingVersion)</MicrosoftVisualStudioExtensibilityTestingSourceGeneratorVersion>
139139

eng/common/core-templates/job/source-index-stage1.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ parameters:
33
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
44
preSteps: []
55
binlogPath: artifacts/log/Debug/Build.binlog
6-
condition: ''
6+
condition: eq(variables['Build.SourceBranch'], 'refs/heads/main')
77
dependsOn: ''
88
pool: ''
99
is1ESPipeline: ''
@@ -41,4 +41,4 @@ jobs:
4141

4242
- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml
4343
parameters:
44-
binLogPath: ${{ parameters.binLogPath }}
44+
binLogPath: ${{ parameters.binLogPath }}

eng/common/cross/build-rootfs.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ __AlpinePackages+=" krb5-dev"
7272
__AlpinePackages+=" openssl-dev"
7373
__AlpinePackages+=" zlib-dev"
7474

75-
__FreeBSDBase="13.4-RELEASE"
75+
__FreeBSDBase="13.5-RELEASE"
7676
__FreeBSDPkg="1.21.3"
7777
__FreeBSDABI="13"
7878
__FreeBSDPackages="libunwind"
@@ -383,7 +383,7 @@ while :; do
383383
;;
384384
freebsd14)
385385
__CodeName=freebsd
386-
__FreeBSDBase="14.2-RELEASE"
386+
__FreeBSDBase="14.3-RELEASE"
387387
__FreeBSDABI="14"
388388
__SkipUnmount=1
389389
;;

eng/common/internal-feed-operations.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function SetupCredProvider {
2626
$url = 'https://raw.githubusercontent.com/microsoft/artifacts-credprovider/master/helpers/installcredprovider.ps1'
2727

2828
Write-Host "Writing the contents of 'installcredprovider.ps1' locally..."
29-
Invoke-WebRequest $url -OutFile installcredprovider.ps1
29+
Invoke-WebRequest $url -UseBasicParsing -OutFile installcredprovider.ps1
3030

3131
Write-Host 'Installing plugin...'
3232
.\installcredprovider.ps1 -Force

eng/common/post-build/nuget-verification.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ if ($NuGetExePath) {
6565
Write-Host "Downloading nuget.exe from $nugetExeUrl..."
6666
$ProgressPreference = 'SilentlyContinue'
6767
try {
68-
Invoke-WebRequest $nugetExeUrl -OutFile $downloadedNuGetExe
68+
Invoke-WebRequest $nugetExeUrl -UseBasicParsing -OutFile $downloadedNuGetExe
6969
$ProgressPreference = 'Continue'
7070
} catch {
7171
$ProgressPreference = 'Continue'

0 commit comments

Comments
 (0)