Skip to content

[automated] Merge branch 'main' => 'release/dev18.0' #18582

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 39 commits into
base: release/dev18.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
fa803ee
Update dependencies from https://github.com/dotnet/msbuild build 2025…
dotnet-maestro[bot] Apr 25, 2025
9b4a7ce
Consolidate `SynExpr.LetOrUseBang(isUse=false)` (#18482)
edgarfgp Apr 25, 2025
264a54e
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] Apr 28, 2025
9995898
Allow `_` in `use!` bindings values (#18487)
edgarfgp Apr 28, 2025
54fb3da
Checker: don't capture environment for checked modules (#18519)
auduchinok Apr 30, 2025
cf6b53e
reuse fsi sessions in tests (#18527)
majocha Apr 30, 2025
34dbfc1
Code completion: fix getting qualifier expression in `do` statements …
auduchinok Apr 30, 2025
05500b8
Enable TypeSubsumptionCache for IDE use (#18499)
majocha May 1, 2025
172dc31
include accessibility range in `SynPat.Named` (#18526)
edgarfgp May 2, 2025
abffd37
Fix mixed emit-multi+/- sessions (#18465)
KevinRansom May 5, 2025
63dd8ca
[main] Update dependencies from dotnet/arcade (#18535)
dotnet-maestro[bot] May 6, 2025
aa4550e
Update VisualFSharp.Core.targets (#18536)
AlexDelepine May 7, 2025
5a239f6
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] May 7, 2025
f78ce10
Keep parens around records in interpolated strings (#18534)
brianrourkeboll May 12, 2025
c4ed80c
Clean up Conformance UnitsOfMeasure (#18537)
KevinRansom May 13, 2025
66e1637
Scoped nowarn (#18049)
Martin521 May 14, 2025
230df0c
Make attribute target mismatch a warning and not an error. (#18492)
edgarfgp May 14, 2025
9e74c0e
Fix race in cache eviction (#18528)
majocha May 14, 2025
29bcaf1
Cancellable: always catch internal cancellations (#18531)
majocha May 14, 2025
c77db37
VS Insertion pipeline update - main (#18548)
T-Gro May 15, 2025
1a76355
[main] Update dependencies from dotnet/arcade (#18559)
dotnet-maestro[bot] May 16, 2025
5db953f
Update automerge config (#18552)
T-Gro May 16, 2025
8b7bf60
Allow `let!` and `use!` binding with type annotation without parenthe…
edgarfgp May 16, 2025
a82b23d
Shorthand lambda: fix completion for chained calls (#18560)
DedSec256 May 19, 2025
2e40a23
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] May 19, 2025
102c517
Fix find all references for F# exceptions (#18565)
majocha May 19, 2025
2188ac9
GH workflow - use ubuntu latest for cleaning up old runs (#18573)
T-Gro May 19, 2025
ff1ca8a
Versions props - main (#18550)
T-Gro May 19, 2025
0c94261
Use .NET10p3 SDK (#18471)
vzarytovskii May 20, 2025
195e723
Add GitHub action to update ILVerify baselines via PR comments (#18578)
Copilot May 20, 2025
087ffa2
Added support for empty case in random collections (#18568)
Lanayx May 20, 2025
7aa39f3
Multi agent parallel testing in CI (#18523)
majocha May 22, 2025
c63e1ee
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] May 22, 2025
d67ac13
Allow `return|return!` `yield|yield!` and type annotations without pa…
edgarfgp May 22, 2025
8e3bb47
Minor perf opt: (#18541)
Thorium May 22, 2025
ce2d456
add contrib.rocks to README.md (#18564)
dawedawe May 22, 2025
fb50b56
Use struct tuple instead of reference tuple for pair ordering (#18513)
brianrourkeboll May 22, 2025
10c07b3
Fix parsing errors using anonymous records and units of measures (#18…
edgarfgp May 22, 2025
75c6eec
Merge branch 'release/dev18.0' into merge/main-to-release/dev18.0
T-Gro May 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .config/service-branch-merge.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
{
"merge-flow-configurations": {
// regular branch flow
"release/dev17.12": {
"MergeToBranch": "release/dev17.13",
"ExtraSwitches": "-QuietComments"
},
"release/dev17.13": {
"MergeToBranch": "main",
"MergeToBranch": "release/dev17.14",
"ExtraSwitches": "-QuietComments"
},
"release/dev17.14": {
"MergeToBranch": "release/dev18.0",
"MergeToBranch": "main",
"ExtraSwitches": "-QuietComments"
},
"main": {
Expand Down
10 changes: 5 additions & 5 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
{
"name": "F#",
"image": "mcr.microsoft.com/dotnet/sdk:9.0.202",
"image": "mcr.microsoft.com/dotnet/sdk:10.0.100-preview.3",
"features": {
"ghcr.io/devcontainers/features/common-utils:2.5.2": {},
"ghcr.io/devcontainers/features/git:1.3.2": {},
"ghcr.io/devcontainers/features/github-cli:1.0.13": {},
"ghcr.io/devcontainers/features/dotnet:2.2.0": {}
"ghcr.io/devcontainers/features/common-utils:2.5.3": {},
"ghcr.io/devcontainers/features/git:1.3.3": {},
"ghcr.io/devcontainers/features/github-cli:1.0.14": {},
"ghcr.io/devcontainers/features/dotnet:2.2.1": {}
},
"hostRequirements": {
"cpus": 2,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/add_to_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ permissions:

jobs:
cleanup_old_runs:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
if: github.event_name != 'pull_request_target'
permissions:
actions: write
Expand Down
62 changes: 56 additions & 6 deletions .github/workflows/commands.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ permissions:
jobs:
cleanup_old_runs:
if: github.event.schedule == '0 13 * * *'
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
permissions:
actions: write
env:
Expand All @@ -33,7 +33,7 @@ jobs:

run_command:
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/run')
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: Extract command to run
uses: actions/github-script@v3
Expand Down Expand Up @@ -76,30 +76,80 @@ jobs:
if: steps.command-extractor.outputs.result == 'fantomas'
id: fantomas
run: dotnet fantomas . -r
- name: Process fantomas command
- name: Process xlf command
if: steps.command-extractor.outputs.result == 'xlf'
id: xlf
run: dotnet build src/Compiler /t:UpdateXlf
- name: Post ilverify start comment
if: steps.command-extractor.outputs.result == 'ilverify'
uses: actions/github-script@v3
with:
script: |
const body = `Started to run ilverify baseline update`;
await github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: body
});

- name: Process ilverify command (Update ILVerify baselines)
if: steps.command-extractor.outputs.result == 'ilverify'
id: ilverify
env:
TEST_UPDATE_BSL: 1
run: |
# Run the ilverify script with TEST_UPDATE_BSL=1
pwsh tests/ILVerify/ilverify.ps1

# Calculate the changes per file
echo "Checking for changes in baseline files..."
FILES_CHANGED=0
CHANGES_OUTPUT=""

for file in tests/ILVerify/*.bsl; do
if git diff --quiet "$file"; then
continue
else
FILES_CHANGED=$((FILES_CHANGED + 1))
LINES_CHANGED=$(git diff --numstat "$file" | awk '{print $1 + $2}')
CHANGES_OUTPUT="${CHANGES_OUTPUT}${file}: ${LINES_CHANGED} lines changed\n"
fi
done

if [ "$FILES_CHANGED" -eq 0 ]; then
echo "result=The ilverify command ran and did not modify any baseline." >> $GITHUB_OUTPUT
else
echo -e "result=The ilverify command ran and triggered the following number of changes per file:\n${CHANGES_OUTPUT}" >> $GITHUB_OUTPUT
fi
- name: Commit and push changes
if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success'
if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success' || steps.ilverify.outcome == 'success'
run: |
# Only commit if there are actual changes
if git diff --quiet; then
echo "No changes to commit, skipping."
exit 0
fi

git config --local user.name "github-actions[bot]"
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git commit -a -m 'Automated command ran: ${{ steps.command-extractor.outputs.result }}

Co-authored-by: ${{ github.event.comment.user.login }} <${{ github.event.comment.user.id }}+${{ github.event.comment.user.login }}@users.noreply.github.com>'
git push
- name: Post command comment
if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success'
if: steps.fantomas.outcome == 'success' || steps.xlf.outcome == 'success' || steps.ilverify.outcome == 'success'
uses: actions/github-script@v3
with:
script: |
// Probably, there's more universal way of getting outputs, but my gh-actions-fu is not that good.
var output = ""
if ("${{steps.command-extractor.outputs.result}}" == 'fantomas') {
output = "${{steps.fantomas.outputs.result}}"
} else if("${{steps.command-extractor.outputs.result}}" == 'xlf') {
} else if ("${{steps.command-extractor.outputs.result}}" == 'xlf') {
output = "${{steps.xlf.outputs.result}}"
} else if ("${{steps.command-extractor.outputs.result}}" == 'ilverify') {
output = "${{steps.ilverify.outputs.result}}"
}
const body = `Ran ${{ steps.command-extractor.outputs.result }}: https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${process.env.GITHUB_RUN_ID}\n${output}`;
await github.issues.createComment({
Expand Down
3 changes: 3 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!-- Begin: Package sources from DotNet-msbuild-Trusted -->
<add key="darc-pub-DotNet-msbuild-Trusted-7ad4e1c" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-DotNet-msbuild-Trusted-7ad4e1c7/nuget/v3/index.json" />
<!-- End: Package sources from DotNet-msbuild-Trusted -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
Expand All @@ -19,6 +20,8 @@
<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
<add key="dotnet9-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9-transport/nuget/v3/index.json" />
<add key="dotnet10" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10/nuget/v3/index.json" />
<add key="dotnet10-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10-transport/nuget/v3/index.json" />
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
<add key="vssdk" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk/nuget/v3/index.json" />
<add key="vssdk-archived" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk-archived/nuget/v3/index.json" />
Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,3 +132,13 @@ If you're curious about F# itself, check out these links:
* [Get started with F#](https://learn.microsoft.com/dotnet/fsharp/get-started/)
* [F# Software Foundation](https://fsharp.org)
* [F# Testimonials](https://fsharp.org/testimonials)

## Contributors ✨

F# exists because of these wonderful people:

<a href="https://github.com/dotnet/fsharp/graphs/contributors">
<img src="https://contrib.rocks/image?repo=dotnet/fsharp" />
</a>

Made with [contrib.rocks](https://contrib.rocks).
Loading
Loading