Skip to content

Commit 4ca4e0e

Browse files
committed
Add a release process doc
1 parent 9183f87 commit 4ca4e0e

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

.github/workflows/release.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Release Process
2+
3+
The following process is used when publishing new releases to NuGet.org:
4+
5+
1. **Ensure the CI workflow is fully green**
6+
- Some of the integration tests are flaky and require re-running
7+
- Once the state of the branch is known to be good, a release can proceed
8+
- **The release workflow _does not_ run tests**
9+
10+
2. **Create a new Release in GitHub**
11+
- Use the link on the repo home page to [Create a new release](https://github.com/modelcontextprotocol/csharp-sdk/releases/new)
12+
- Click the 'Choose a tag' dropdown button
13+
- Type the name using the `v{major}.{minor}.{patch}-{suffix}` pattern
14+
- Click 'Create new tag: ... on publish'
15+
- Click the 'Target' dropdown button
16+
- Choose the 'Recent Commits' tab
17+
- Select the commit to use for the release, ensuring it's one from above where CI is known to be green
18+
- Click the 'Previous tag' dropdown button
19+
- Choose the previous release to use for generating release notes
20+
- Click the 'Generate release notes button'
21+
- This will add release notes into the Release description
22+
- The generated release notes include what has changed and the list of new contributors
23+
- Verify the Release title
24+
- It will be populated to match the tag name to be created
25+
- This should be retained, using the release title format matching the `v{major}.{minor}.{patch}-{suffix}` format
26+
- Augment the Release description as desired
27+
- This content is presented used on GitHub and is not persisted into any artifacts
28+
- Check the 'Set as a pre-release' button under the release description if appropriate
29+
- Click 'Public release'
30+
31+
3. **Monitor the Release workflow**
32+
- After publishing the release, a workflow will begin for producing the release's build artifacts and publishing the NuGet package to NuGet.org
33+
- If the job fails, troubleshoot and re-run the workflow as needed
34+
- Verify the package version becomes listed on at [https://nuget.org/packages/ModelContextProtocol](https://nuget.org/packages/ModelContextProtocol)
35+
36+
4. **Update the source to increment the version number**
37+
- Immediately after publishing a new release, the [`/src/Directory.Build.Props`](../../src/Directory.Build.props) file needs to be updated to bump the version to the next expected release version

0 commit comments

Comments
 (0)