Skip to content

Commit 2211866

Browse files
authored
add instructions for creating and onboarding new branches (#13458)
1 parent 53c543c commit 2211866

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

INTERNAL.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,25 @@ Note that insertions for other teams will also be listed.
5757
Insertions to any other VS branch (e.g., `main`) will have the auto-merge flag set and should handle themselves, but
5858
it's a good idea to check the previous link for any old or stalled insertions into VS `main`.
5959

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.
78+
6079
## Less interesting links
6180

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

0 commit comments

Comments
 (0)