Skip to content

Release Process

Jeff Handley edited this page May 1, 2025 · 5 revisions

The following process describes the steps of releasing a new version of the Issue Labeler. The steps begin at the stage of the main branch containing what is desired to be marked as a new version of the workflows. The release process requires a few iterations can capturing multiple commit SHA values to ensure each release is fully pinned to a consistent state through each layer of the architecture.

Create a new vX.Y.Z branch from main

The branch name should match the version to be released.

Run the 'Release' Action

  • Choose the vX.Y.Z branch created.
  • Optionally add additional tags to apply to the published Docker container image.
    • The ref name (the selected branch) is added automatically
  • Click 'Run Workflow'

Once this workflow run is completed, the vX.Y.Z branch contains an updated version of the Issue Labeler's Actions that can be referenced by other repositories, with this branch pinned to the published Docker Container Image for the predictor app.

Create a GitHub Release

First, navigate to the vX.Y.Z branch and capture the latest commit SHA. The 'Release' process above will have added a commit to that branch for pinning the Docker Container Image's reference. That commit must be used for consumers to reference the new version of Issue Labeler.

The latest commit on the vX.Y.Z branch is shown as a placeholder below as {vX.Y.Z-commit-sha}.

Note the commit SHA is different from the SHA256 digest of the predictor app's Docker Container Image.

Using GitHub's Releases feature, draft a new release and choose/enter the following:

  • Create a new tag called vX.Y.Z-release
  • Choose the vX.Y.Z branch as the Target
  • Enter a title in the form of vX.Y.Z - {Title}
  • In the description, provide the following information to inform consumers how to reference the Issue Labeler's actions by pinning to the commit sha for this new version.
## Referencing vX.Y.Z

To reference `dotnet/issue-labeler` vX.Y.Z actions, workflows should pin to the SHA associated with the release as follows:

* `uses: dotnet/issue-labeler/download@{vX.Y.Z-commit-sha} # vX.Y.Z`
* `uses: dotnet/issue-labeler/train@{vX.Y.Z-commit-sha} # vX.Y.Z`
* `uses: dotnet/issue-labeler/test@{vX.Y.Z-commit-sha} # vX.Y.Z`
* `uses: dotnet/issue-labeler/promote@{vX.Y.Z-commit-sha} # vX.Y.Z`
* `uses: dotnet/issue-labeler/restore@{vX.Y.Z-commit-sha} # vX.Y.Z`
* `uses: dotnet/issue-labeler/predict@{vX.Y.Z-commit-sha} # vX.Y.Z`

Clone this wiki locally