Skip to content

Release Process

Bart Koelman edited this page Aug 8, 2025 · 2 revisions

Creating and shipping Steeltoe releases

Due to breaking changes between release lines, portions of this document will not apply to release lines prior to 4.0.0.

Please read the full contents of this page before taking action.

Nuget package creation

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, may deploy to the Steeltoe Azure Artifacts feed and may deploy to nuget.org.

To build packages for nuget.org and trigger their release, create a new GitHub release with a tag that matches the VersionPrefix in shared-package.props. The workflow will handle everything else. All deployments to nuget.org require manual approval by a senior member of the Steeltoe team.

Release-time checklist

  • Run public-api-mark-shipped.ps1 to update PublicAPI.*.txt files.
  • Ensure schema.json is up to date. If necessary, create a git tag and copy the latest schema to Documentation.
  • Review documentation and samples for references to github.com/SteeltoeOSS/Steeltoe and ensure all links point to the proper branches.
  • If there are pending updates for documentation (https://steeltoe.io): use the stage-prod-swap action to swap the staging slot into production.
  • If there are pending updates for NetCoreToolTemplates, create a new GitHub release to build and release new template versions to nuget.org.
    • All deployments to nuget.org require manual approval by a senior member of the Steeltoe team.

Note

Updates to NetCoreToolTemplates will not automatically be used by start.steeltoe.io. A new build of NetCoreToolService will always be required because templates are embedded within the container image.

  • Consider updating settings at SteeltoeOSS/InitializrConfig
  • If there are pending updates for NetCoreToolService: use the stage-prod-swap action to swap the staging slot into production.
  • If there are pending updates for InitializrService: use the stage-prod-swap action to swap the staging slot into production.
  • If there are pending updates for InitializrWeb (https://start.steeltoe.io): use the stage-prod-swap action to swap the staging slot into production.

Tip

For every case a "stage-prod-swap" workflow is run, consider using the corresponding "Build and stage xxx" to overwrite the retired production site (which was demoted to the corresponding staging slot) once the new version is confirmed as good to go.

Clone this wiki locally