-
Notifications
You must be signed in to change notification settings - Fork 171
Release Process
Bart Koelman edited this page May 29, 2026
·
4 revisions
Due to breaking changes between release lines, portions of this document will not apply to release lines prior to 4.0.0.
Read this page in full before taking action.
Important
All deployments to NuGet.org require manual approval by a senior member of the Steeltoe team.
All Steeltoe packages are produced by CI pipelines. This GitHub Actions workflow is used for building and releasing packages.
- Depending on how the workflow is triggered, packages may be signed, deployed to the Steeltoe Azure Artifacts feed, and/or deployed to NuGet.org.
-
In Steeltoe:
- Run
public-api-mark-shipped.ps1to updatePublicAPI.*.txtfiles. - Update the
VersionPrefixin shared-package.props. - Create a new GitHub release with a tag that matches the
VersionPrefix(pushes to NuGet.org). - Update the Release support matrix.
- Run
-
In Schema:
- Ensure
schema.jsonis up to date by running its tests twice (first run creates pending changes). - If changed, create/push a git tag and copy the latest schema to Documentation.
- Ensure
-
In Documentation:
- Check for references to
github.com/SteeltoeOSS/Steeltoeand ensure all links point to the proper branches. - Create/push a git tag.
- Use the
stage-prod-swapGitHub Actions workflow to swap the staging slot into production (https://www.steeltoe.io/).
- Check for references to
-
- Update active/default Steeltoe versions in .template.config.
- Update Steeltoe versions used in tests by editing
SteeltoeVersion.csandTemplateOptions.cs. - Bump the
VersionPrefix. - Create a new GitHub release with a tag that matches the
VersionPrefix(pushes to NuGet.org).
-
- If
NetCoreToolTemplateswas released, a new build/deployment is required because templates are embedded within the container image.
- If
-
- A new build/deployment is only required if anything has changed since the last deployment.
-
In InitializrWeb:
- A new build/deployment is only required if anything has changed since the last deployment.
-
- Update the active/default Steeltoe versions in
SteeltoeInitializr-Staging.yaml.
- Update the active/default Steeltoe versions in
-
After sanity check at start-staging.steeltoe.io:
- Use the
stage-prod-swapGitHub Actions workflows onNetCoreToolService/InitializrService/InitializrWebas needed to swap the staging slot into production (https://start.steeltoe.io/). - Replicate changes from
SteeltoeInitializr-Staging.yamltoSteeltoeInitializr-Production.yamlin InitializrConfig.
- Use the
-
In Steeltoe:
- Open a pull request to merge changes back into long-lived branches, such as
3.xand4.x. Check for references togithub.com/SteeltoeOSS/Steeltoeand ensure all links point to the proper branches.
- Open a pull request to merge changes back into long-lived branches, such as
-
In Samples:
- Open a pull request to merge changes back into long-lived branches, such as
3.xand4.x. Check for references togithub.com/SteeltoeOSS/Steeltoeand ensure all links point to the proper branches.
- Open a pull request to merge changes back into long-lived branches, such as
Tip
After each stage-prod-swap workflow run, consider using the corresponding Build and stage workflow to overwrite the retired production site (which was demoted to the staging slot) once the new version is confirmed stable.