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
* Set up a root artifacts folder for all build/test/pack output
Update CI TestResults folder
* Update package Authors and Copyright
* Lower-case extension on README.md
* Move package props to src folder. Use Version prefix and suffix props.
* Set up package publishing for daily, manual, and release builds
* Only run publishing jobs to the modelcontextprotocol/csharp-sdk repo
* Fix condition on docs workflow
Co-authored-by: Copilot <[email protected]>
* Update preview wording in README to apply to the package too
* Verify packaging succeeds in the CI workflow
* Allow a version suffix override in release workflow.
* De-dupe the README between the repo and the NuGet package
* New CI work
* Do not reuse the CI workflow for releases so we can build without tests.
* Add a release process doc
* Fix bug in publishing; needs checkout step. Update comment for publish.
---------
Co-authored-by: Copilot <[email protected]>
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
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
The official C# SDK for the [Model Context Protocol](https://modelcontextprotocol.io/), enabling .NET applications, services, and libraries to implement and interact with MCP clients and servers. Please visit our [API documentation](https://modelcontextprotocol.github.io/csharp-sdk/api/ModelContextProtocol.html) for more details on available functionality.
6
6
7
7
> [!NOTE]
8
-
> This repo is still in preview, breaking changes can be introduced without prior notice.
8
+
> This project is in preview; breaking changes can be introduced without prior notice.
0 commit comments