Skip to content

Release Process

Bart Koelman edited this page May 11, 2026 · 3 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.

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.

NuGet package creation and publishing

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.

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.

Release-time checklist

  1. Run public-api-mark-shipped.ps1 to update PublicAPI.*.txt files.
  2. Ensure schema.json is up to date. If necessary, create a git tag and copy the latest schema to Documentation.
  3. Review documentation and samples for references to github.com/SteeltoeOSS/Steeltoe and ensure all links point to the proper branches.
  4. If there are pending updates for the documentation site: use the stage-prod-swap action to swap the staging slot into production.
  5. If there are pending updates for NetCoreToolTemplates, create a new GitHub release to build and release new template versions to NuGet.org.

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.

  1. If applicable, update settings in InitializrConfig.
  2. If there are pending updates for NetCoreToolService: use the stage-prod-swap action to swap the staging slot into production.
  3. If there are pending updates for InitializrService: use the stage-prod-swap action to swap the staging slot into production.
  4. If there are pending updates for InitializrWeb: use the stage-prod-swap action to swap the staging slot into production.

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.

Clone this wiki locally