Update release processes to support release servicing branches (#1620)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
711e5bb3b7
commit
bc372f18c6
2 changed files with 199 additions and 86 deletions
27
.github/workflows/release.md
vendored
27
.github/workflows/release.md
vendored
|
|
@ -1,27 +0,0 @@
|
|||
# Release Process
|
||||
|
||||
The following process is used when publishing new releases to NuGet.org.
|
||||
|
||||
## 1. Ensure the CI workflow is fully green
|
||||
|
||||
- Some integration tests are flaky and may require re-running
|
||||
- Once the state of the branch is known to be good, a release can proceed
|
||||
- **The release workflow _does not_ run tests** — CI must be green before starting
|
||||
|
||||
## 2. Prepare the release
|
||||
|
||||
From a local clone of the repository, use Copilot CLI to invoke the `prepare-release` skill. The skill assesses the semantic version, bumps the version in [`src/Directory.Build.props`](../../src/Directory.Build.props), runs API compatibility checks, reviews documentation, drafts release notes, and creates a pull request with all release artifacts.
|
||||
|
||||
Review the PR, request changes if needed, and merge when ready.
|
||||
|
||||
## 3. Publish the release
|
||||
|
||||
After the prepare-release PR is merged, invoke the `publish-release` skill. The skill checks for any late-arriving PRs that could affect the release, refreshes the release notes, and creates a **draft** GitHub release.
|
||||
|
||||
Review the draft release on GitHub, check 'Set as a pre-release' if appropriate, and click 'Publish release'.
|
||||
|
||||
## 4. Monitor the Release workflow
|
||||
|
||||
- After publishing, a workflow will produce build artifacts and publish the NuGet packages to NuGet.org
|
||||
- If the job fails, troubleshoot and re-run the workflow as needed
|
||||
- Verify the package version becomes listed at [nuget.org/packages/ModelContextProtocol](https://www.nuget.org/packages/ModelContextProtocol)
|
||||
35
.github/workflows/release.yml
vendored
35
.github/workflows/release.yml
vendored
|
|
@ -1,19 +1,24 @@
|
|||
# Publish new package versions of ModelContextProtocol
|
||||
#
|
||||
# Daily and Manual Runs
|
||||
# - Triggered automatically at 07:00 UTC daily
|
||||
# - Triggered manually using GitHub Actions workflow_dispatch event
|
||||
# - Version prefix applied from /src/Directory.Build.props
|
||||
# - Version suffix set to `ci.{github.run_number}`
|
||||
# - Package published to GitHub package registry
|
||||
# Triggers
|
||||
# - Scheduled (07:00 UTC daily, main branch): produces a CI-suffixed package
|
||||
# and publishes it to the GitHub package registry.
|
||||
#
|
||||
# Official Releases
|
||||
# - Triggered after a GitHub Release is created
|
||||
# - Version prefix applied from /src/Directory.Build.props
|
||||
# - Version suffix applied from /src/Directory.Build.props
|
||||
# - Package published to GitHub package registry
|
||||
# - Package published to NuGet.org
|
||||
# - Version prefix and/or suffix should be updated after each release
|
||||
# - Push to `release/**`: every commit to a release branch produces a CI-suffixed
|
||||
# package and publishes it to the GitHub package registry.
|
||||
#
|
||||
# - Manual `workflow_dispatch` (any branch): same outputs as a scheduled/push build;
|
||||
# accepts a `version_suffix_override` input.
|
||||
#
|
||||
# - GitHub Release published (any branch's tag): publishes the version from
|
||||
# `src/Directory.Build.props` to the GitHub package registry AND NuGet.org.
|
||||
#
|
||||
# Version
|
||||
# - Version prefix and suffix come from `src/Directory.Build.props`.
|
||||
# - For non-release triggers, the suffix is replaced with `ci.{run_number}`
|
||||
# (or `workflow_dispatch.inputs.version_suffix_override` when provided).
|
||||
# - The prefix and suffix in `Directory.Build.props` should be updated after each
|
||||
# release using the `bump-version` or `prepare-release` skills.
|
||||
|
||||
name: Release Publishing
|
||||
|
||||
|
|
@ -21,6 +26,10 @@ on:
|
|||
schedule:
|
||||
- cron: '0 7 * * *'
|
||||
|
||||
push:
|
||||
branches:
|
||||
- 'release/**'
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version_suffix_override:
|
||||
|
|
|
|||
Loading…
Reference in a new issue