-
Notifications
You must be signed in to change notification settings - Fork 344
How to create a new release
Marten Smits edited this page Apr 24, 2024
·
14 revisions
The following steps explain how to create a release. These steps are done by members of the Firely company.
- The release notes are generated automatically during the release process.
- Edit the
release-notes.md
file to include additional general information about the release. - Create a branch and submit a pull request to update the
release-notes.md
file in the repository (this step can also be performed during a sprint).
- Ensure that all necessary pull requests have been merged.
- Update your local GIT repository to the latest version.
- Create a new release branch named
release/x.y.z
, wherex.y.z
represents the new version number. - Modify the
VersionPrefix
in thesrc/firely-net-sdk.props
file by creating a pull request on therelease/x.y.z
branch. - Once the build server confirms success, set a tag on the latest commit of the
release/x.y.z
branch to trigger the release. - Create a new tag named
vx.y.z
for this commit and push it to GitHub, which will initiate the release pipeline. - The Azure DevOps pipeline will require an additional approval for the final stage, which involves pushing the packages to NuGet. Review the details and, if everything is satisfactory, grant approval to finalize the release.
- The Azure DevOps pipeline will generate a draft release here. Review the contents of the release notes, and when they are accurate, click the publish button. This action will also publish the notes in Slack and Zulip.
- Merge the
release/x.y.z
branch into both themain
anddevelop
branches. Do this by creating PRs fromrelease/x.y.z
todevelop
andrelease/x.y.z
tomain
. Another team member should approve those PRs. - Update the
VersionPrefix
in thesrc/firely-net-sdk.props
file tox.y.z+1
by creating a pull request on thedevelop
branch. - Update
PackageValidationBaselineVersion
to your just released version. - Run
dotnet pack /p:GenerateCompatibilitySuppressionFile=true
locally to reset the compatibility suppression file