Skip to content

Commit 924097b

Browse files
committed
Resolving conflicts
2 parents a776c86 + 8d27963 commit 924097b

257 files changed

Lines changed: 6110 additions & 4965 deletions

File tree

Some content is hidden

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

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Bug report
33
about: Create a report to help us improve F#
44
title: ''
5-
labels: Bug
5+
labels: [Bug, Needs-Triage]
66
assignees: ''
77

88
---

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: F# Discussions
4+
url: https://github.com/dotnet/fsharp/discussions
5+
about: Please ask and answer questions here.
6+
- name: F# Language Suggestions
7+
url: https://github.com/fsharp/fslang-suggestions
8+
about: Language features discussions here.
9+
- name: F# Language Design
10+
url: https://github.com/fsharp/fslang-design
11+
about: Language design RFCs here.

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Feature request
33
about: Suggest an idea for the F# tools or compiler
44
title: ''
5-
labels: Feature Request
5+
labels: [Feature Request, Needs-Triage]
66
assignees: ''
77

88
---
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
name: Other issue
3+
about: Open an issue which does not belong to any categories above
4+
title: ''
5+
labels: [Needs-Triage]
6+
assignees: ''
7+
8+
---
9+
<!-- Please, provide a clear and concise description of what the problem is below: -->
10+
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Add all issues to F# project
2+
3+
on:
4+
issues:
5+
types:
6+
- opened
7+
- transferred
8+
9+
jobs:
10+
cleanup_old_runs:
11+
runs-on: ubuntu-20.04
12+
permissions:
13+
actions: write
14+
env:
15+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
16+
steps:
17+
- name: Delete old workflow runs
18+
run: |
19+
_UrlPath="/repos/$GITHUB_REPOSITORY/actions/workflows"
20+
_CurrentWorkflowID="$(gh api -X GET "$_UrlPath" | jq '.workflows[] | select(.name == '\""$GITHUB_WORKFLOW"\"') | .id')"
21+
gh api -X GET "$_UrlPath/$_CurrentWorkflowID/runs" --paginate \
22+
| jq '.workflow_runs[] | select(.status == "completed") | .id' \
23+
| xargs -I{} gh api -X DELETE "/repos/$GITHUB_REPOSITORY/actions/runs"/{}
24+
add-to-project:
25+
name: Add issue to project
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/[email protected]
29+
with:
30+
project-url: https://github.com/orgs/dotnet/projects/126/
31+
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/backport.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Backport PR to branch
2+
on:
3+
issue_comment:
4+
types: [created]
5+
schedule:
6+
# once a day at 13:00 UTC
7+
- cron: '0 13 * * *'
8+
9+
permissions:
10+
contents: write
11+
issues: write
12+
pull-requests: write
13+
14+
jobs:
15+
cleanup_old_runs:
16+
if: github.event.schedule == '0 13 * * *'
17+
runs-on: ubuntu-20.04
18+
permissions:
19+
actions: write
20+
env:
21+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22+
steps:
23+
- name: Delete old workflow runs
24+
run: |
25+
_UrlPath="/repos/$GITHUB_REPOSITORY/actions/workflows"
26+
_CurrentWorkflowID="$(gh api -X GET "$_UrlPath" | jq '.workflows[] | select(.name == '\""$GITHUB_WORKFLOW"\"') | .id')"
27+
28+
# delete workitems which are 'completed'. (other candidate values of status field are: 'queued' and 'in_progress')
29+
30+
gh api -X GET "$_UrlPath/$_CurrentWorkflowID/runs" --paginate \
31+
| jq '.workflow_runs[] | select(.status == "completed") | .id' \
32+
| xargs -I{} gh api -X DELETE "/repos/$GITHUB_REPOSITORY/actions/runs"/{}
33+
34+
backport:
35+
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/backport to')
36+
runs-on: ubuntu-20.04
37+
steps:
38+
- name: Extract backport target branch
39+
uses: actions/github-script@v3
40+
id: target-branch-extractor
41+
with:
42+
result-encoding: string
43+
script: |
44+
if (context.eventName !== "issue_comment") throw "Error: This action only works on issue_comment events.";
45+
46+
// extract the target branch name from the trigger phrase containing these characters: a-z, A-Z, digits, forward slash, dot, hyphen, underscore
47+
const regex = /^\/backport to ([a-zA-Z\d\/\.\-\_]+)/;
48+
target_branch = regex.exec(context.payload.comment.body);
49+
if (target_branch == null) throw "Error: No backport branch found in the trigger phrase.";
50+
51+
return target_branch[1];
52+
- name: Post backport started comment to pull request
53+
uses: actions/github-script@v3
54+
with:
55+
script: |
56+
const backport_start_body = `Started backporting to ${{ steps.target-branch-extractor.outputs.result }}: https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${process.env.GITHUB_RUN_ID}`;
57+
await github.issues.createComment({
58+
issue_number: context.issue.number,
59+
owner: context.repo.owner,
60+
repo: context.repo.repo,
61+
body: backport_start_body
62+
});
63+
- name: Checkout repo
64+
uses: actions/checkout@v2
65+
with:
66+
fetch-depth: 0
67+
- name: Run backport
68+
uses: ./eng/actions/backport
69+
with:
70+
target_branch: ${{ steps.target-branch-extractor.outputs.result }}
71+
auth_token: ${{ secrets.GITHUB_TOKEN }}
72+
pr_description_template: |
73+
Backport of #%source_pr_number% to %target_branch%
74+
75+
/cc %cc_users%
76+
77+
## Customer Impact
78+
79+
## Testing
80+
81+
## Risk
82+
83+
IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary [package authoring](https://github.com/dotnet/runtime/blob/main/docs/project/library-servicing.md) and gotten it explicitly reviewed.

DEVGUIDE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ This will update your fork with the latest from `dotnet/fsharp` on your machine
4444

4545
## Developing on Windows
4646

47-
Install the latest released [Visual Studio](https://www.visualstudio.com/downloads/), as that is what the `main` branch's tools are synced with. Select the following workloads:
47+
Install the latest released [Visual Studio](https://visualstudio.microsoft.com/vs/preview/) preview, as that is what the `main` branch's tools are synced with. Select the following workloads:
4848

4949
* .NET desktop development (also check F# desktop support, as this will install some legacy templates)
5050
* Visual Studio extension development
5151

52-
You will also need the latest .NET 6 SDK installed from [here](https://dotnet.microsoft.com/download/dotnet/6.0).
52+
You will also need the latest .NET 7 SDK installed from [here](https://dotnet.microsoft.com/download/dotnet/7.0).
5353

5454
Building is simple:
5555

@@ -73,10 +73,10 @@ If you don't have everything installed yet, you'll get prompted by Visual Studio
7373

7474
If you are just developing the core compiler and library then building ``FSharp.sln`` will be enough.
7575

76-
We recommend installing the latest released Visual Studio and using that if you are on Windows. However, if you prefer not to do that, you will need to install the following:
76+
We recommend installing the latest Visual Studio preview and using that if you are on Windows. However, if you prefer not to do that, you will need to install the following:
7777

7878
* [.NET Framework 4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472)
79-
* [.NET 6](https://dotnet.microsoft.com/download/dotnet/6.0)
79+
* [.NET 7](https://dotnet.microsoft.com/download/dotnet/7.0)
8080

8181
You'll need to pass an additional flag to the build script:
8282

Directory.Build.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
<Import Project="FSharpBuild.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' == '' "/>
44
<Import Project="FSharpTests.Directory.Build.props" Condition = " '$(FSharpTestCompilerVersion)' != '' "/>
55

6+
<!--
7+
When developers load the FSharp.Compiler.Service solution we set FSHARPCORE_USE_PACKAGE to true if it hasn't already been set to a value.
8+
This option ensures that building and testing uses the specified FSharp.Core nuget package instead of the local
9+
FSharp.Core project.
10+
-->
11+
<PropertyGroup Condition="'$(FSHARPCORE_USE_PACKAGE)' == ''">
12+
<FSHARPCORE_USE_PACKAGE Condition="'$(SolutionName)' == 'FSharp.Compiler.Service'">true</FSHARPCORE_USE_PACKAGE>
13+
</PropertyGroup>
14+
615
<ItemGroup>
716
<!-- If there is a README.md next to a project file, include it (for easier access in the IDE) -->
817
<None Include="README.md" Condition="Exists('README.md')" />

FSharpBuild.Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<WarningsAsErrors>1182;0025;$(WarningsAsErrors)</WarningsAsErrors>
2727
<OtherFlags>$(OtherFlags) --nowarn:3384</OtherFlags>
2828
<OtherFlags>$(OtherFlags) --times --nowarn:75</OtherFlags>
29+
<OtherFlags Condition="$(ParallelCheckingWithSignatureFilesOn) == 'true'">$(OtherFlags) --test:ParallelCheckingWithSignatureFilesOn</OtherFlags>
2930
</PropertyGroup>
3031

3132
<!-- nuget -->

INTERNAL.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,17 @@ Update the `insertTargetBranch` value at the bottom of `azure-pipelines.yml` in
7777
7. Note, the help in the `darc` tool is really good. E.g., you can simply run `darc` to see a list of all commands available, and if you run `darc <some-command>` with no arguments, you'll be given a list of arguments you can use.
7878
8. Ensure that version numbers are bumped for a new branch.
7979

80+
## Labeling issues on GitHub
81+
82+
Assign appropriate `Area-*` label to bugs, feature improvements and feature requests issues alike. List of `Area` labels with descriptions can be found [here](https://github.com/dotnet/fsharp/labels?q=Area). These areas are laid out to follow the logical organization of the code.
83+
84+
To find all existing open issues without assigned `Area` label, use [this query](https://github.com/dotnet/fsharp/issues?q=is%3Aissue+is%3Aopen+-label%3AArea-AOT+-label%3AArea-Async+-label%3AArea-Build+-label%3AArea-Compiler+-label%3AArea-Compiler-Checking+-label%3AArea-Compiler-CodeGen+-label%3AArea-Compiler-HashCompare+-label%3AArea-Compiler-ImportAndInterop+-label%3AArea-Compiler-Optimization+-label%3AArea-Compiler-Options+-label%3AArea-Compiler-PatternMatching+-label%3AArea-Compiler-Service+-label%3AArea-Compiler-SigFileGen+-label%3AArea-Compiler-SRTP+-label%3AArea-Compiler-StateMachines+-label%3AArea-Compiler-Syntax+-label%3AArea-ComputationExpressions+-label%3AArea-Debug+-label%3AArea-DependencyManager+-label%3AArea-Diagnostics+-label%3AArea-FCS+-label%3AArea-FSC+-label%3AArea-FSI+-label%3AArea-Infrastructure+-label%3AArea-LangService-API+-label%3AArea-LangService-AutoComplete+-label%3AArea-LangService-BlockStructure+-label%3AArea-LangService-CodeLens+-label%3AArea-LangService-Colorization+-label%3AArea-LangService-Diagnostics+-label%3AArea-LangService-FindAllReferences+-label%3AArea-LangService-Navigation+-label%3AArea-LangService-QuickFixes+-label%3AArea-LangService-RenameSymbol+-label%3AArea-LangService-ToolTips+-label%3AArea-LangService-UnusedDeclarations+-label%3AArea-LangService-UnusedOpens+-label%3AArea-Library+-label%3AArea-ProjectsAndBuild+-label%3AArea-Queries+-label%3AArea-Quotations+-label%3AArea-SetupAndDelivery+-label%3AArea-Testing+-label%3AArea-TypeProviders+-label%3AArea-UoM+-label%3AArea-VS+-label%3AArea-VS-Editor+-label%3AArea-VS-FSI+-label%3AArea-XmlDocs)
85+
86+
Since github issue filtering is currently not flexible enough, that query was generated by pasting output of this PowerShell command to the search box (might need to be rerun if new kinds of `Area` labels are added):
87+
```ps1
88+
Invoke-WebRequest -Uri "https://api.github.com/repos/dotnet/fsharp/labels?per_page=100" | ConvertFrom-Json | % { $_.name } | ? { $_.StartsWith("Area-") } | % { Write-Host -NoNewLine ('-label:"' + $_ + '" ') }
89+
```
90+
8091
## Less interesting links
8192

8293
[FSharp.Core (Official NuGet Release)](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=72).

0 commit comments

Comments
 (0)