You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: INTERNAL.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,25 @@ Note that insertions for other teams will also be listed.
57
57
Insertions to any other VS branch (e.g., `main`) will have the auto-merge flag set and should handle themselves, but
58
58
it's a good idea to check the previous link for any old or stalled insertions into VS `main`.
59
59
60
+
## Preparing for a new VS release branch
61
+
62
+
### When a VS branch snaps from `main` to `rel/d*` and switches to ask mode:
63
+
64
+
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.
65
+
66
+
### When VS `main` is open for insertions for preview releases of VS:
67
+
68
+
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).
69
+
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`.
70
+
3. Set the packages from the new branch to flow into the correct package feeds via the `darc` tool. To do this:
71
+
1. Ensure the latest `darc` tool is installed by running `eng/common/darc-init.ps1`.
72
+
2. (only needed once) Run the command `darc authenticate`. A text file will be opened with instructions on how to populate access tokens.
73
+
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.
74
+
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.
75
+
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`
76
+
6. Ensure the subscription was added by repeating step 3 above.
77
+
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.
0 commit comments