Skip to content

Commit

Permalink
Merge branch 'release/dev17.4' into merges/release/dev17.3-to-release…
Browse files Browse the repository at this point in the history
…/dev17.4
  • Loading branch information
vzarytovskii authored Jul 7, 2022
2 parents 2107df3 + 51322e0 commit 05112be
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 3 deletions.
19 changes: 19 additions & 0 deletions INTERNAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,25 @@ Note that insertions for other teams will also be listed.
Insertions to any other VS branch (e.g., `main`) will have the auto-merge flag set and should handle themselves, but
it's a good idea to check the previous link for any old or stalled insertions into VS `main`.

## Preparing for a new VS release branch

### When a VS branch snaps from `main` to `rel/d*` and switches to ask mode:

Update the `insertTargetBranch` value at the bottom of `azure-pipelines.yml` in the appropriate release branch. E.g., when VS 17.3 snapped and switched to ask mode, [this PR](https://github.com/dotnet/fsharp/pull/13456/files) correctly updates the insertion target so that future builds from that F# branch will get auto-inserted to VS.

### When VS `main` is open for insertions for preview releases of VS:

1. Create a new `release/dev*` branch (e.g., `release/dev17.4`) and initially set its HEAD commit to that of the previous release (e.g., `release/dev17.3` in this case).
2. Set the new branch to receive auto-merges from `main`, and also set the old release branch to flow into the new one. [This PR](https://github.com/dotnet/roslyn-tools/pull/1245/files) is a good example of what to do when a new `release/dev17.4` branch is created that should receive merges from both `main` and the previous release branch, `release/dev17.3`.
3. Set the packages from the new branch to flow into the correct package feeds via the `darc` tool. To do this:
1. Ensure the latest `darc` tool is installed by running `eng/common/darc-init.ps1`.
2. (only needed once) Run the command `darc authenticate`. A text file will be opened with instructions on how to populate access tokens.
3. Check the current package/channel subscriptions by running `darc get-default-channels --source-repo fsharp`. For this example, notice that the latest subscription shows the F# branch `release/dev17.3` is getting added to the `VS 17.3` channel.
4. Get the list of `darc` channels and determine the appropriate one to use for the new branch via the command `darc get-channels`. For this example, notice that a channel named `VS 17.4` is listed.
5. Add the new F# branch to the appropriate `darc` channel. In this example, run `darc add-default-channel --channel "VS 17.4" --branch release/dev17.4 --repo https://github.com/dotnet/fsharp`
6. Ensure the subscription was added by repeating step 3 above.
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.

## Less interesting links

[FSharp.Core (Official NuGet Release)](https://dev.azure.com/dnceng/internal/_release?_a=releases&definitionId=72).
Expand Down
4 changes: 2 additions & 2 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -591,8 +591,8 @@ stages:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: eng/release/insert-into-vs.yml
parameters:
componentBranchName: refs/heads/release/dev17.3
insertTargetBranch: rel/d17.3
componentBranchName: refs/heads/release/dev17.4
insertTargetBranch: main
insertTeamEmail: [email protected]
insertTeamName: 'F#'
completeInsertion: 'auto'
19 changes: 18 additions & 1 deletion vsintegration/tests/UnitTests/QuickInfoTests.fs
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ module Test =
()

[<Test>]
let ``Automation.LetBindings.InsideType``() =
let ``Automation.LetBindings.InsideType.Instance``() =
let code = """
namespace FsTest
Expand All @@ -459,3 +459,20 @@ module Test =

StringAssert.StartsWith(expectedSignature, tooltip)
()

[<Test>]
let ``Automation.LetBindings.InsideType.Static``() =
let code = """
namespace FsTest
module Test =
type T() =
static let fu$$nc x = ()
"""

let expectedSignature = "val func: x: 'a -> unit"

let tooltip = GetQuickInfoTextFromCode code

StringAssert.StartsWith(expectedSignature, tooltip)
()

0 comments on commit 05112be

Please sign in to comment.