SingleStoreConnector releases are automated through GitHub Actions. A new NuGet package is built and published automatically when a new version tag is pushed to the GitHub repository.
A draft GitHub Release is also created automatically. The release remains a draft because the release notes must be reviewed and completed manually before publishing.
Before creating a release tag:
- Make sure the release changes are merged into the default branch.
- Make sure CI is passing.
- Update
CONNECTOR_VERSIONin.github/workflows/config.ymlwith the new package version. - Update the connector version in the
README.mdtitle. - Add a section for the new version to
docs/VersionHistory.mddescribing the changes in this release. - Make sure the version tag matches the value of
CONNECTOR_VERSION. - The version tag must use the
vX.Y.Zformat.
For example, if CONNECTOR_VERSION is 1.4.0, the release tag should be v1.4.0.
The version section in docs/VersionHistory.md must use a ### X.Y.Z header that matches CONNECTOR_VERSION (for example ### 1.4.0), because the release workflow extracts that section and uses it to seed the draft GitHub Release notes.
From the default branch, run:
git checkout master
git pull origin master
git tag vX.Y.Z
git push origin vX.Y.ZReplace X.Y.Z with the version being released.
After the tag is pushed, GitHub Actions will automatically:
- Run the test workflows.
- Build the connector.
- Pack the NuGet package.
- Publish the
SingleStoreConnector.nupkgpackage to NuGet. - Create a draft GitHub Release for the pushed tag, seeding the release notes from the matching section of
docs/VersionHistory.mdand attaching all build artifacts.
After the release workflow finishes successfully:
- Check that the GitHub Actions workflow completed without errors.
- Verify that the new package version is available on NuGet.
- Optionally install the released package locally:
dotnet add package SingleStoreConnector --version X.Y.ZAfter the workflow creates the draft GitHub Release:
- Open the repository's Releases page.
- Open the draft release for the pushed tag, for example
vX.Y.Z. - Review and complete the release notes. They are pre-filled from the matching
docs/VersionHistory.mdsection, so verify they are accurate and complete. - Publish the GitHub Release.
The GitHub Release is intentionally kept as a draft because it requires complete release notes before publishing.
If the release workflow fails before publishing to NuGet, fix the issue and rerun the workflow or recreate the tag as needed.
If the package was already published to NuGet, do not reuse the same version number. NuGet package versions are immutable, so a fix must be released with a new version.