-
Notifications
You must be signed in to change notification settings - Fork 22
Release Process
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.
The branch name should match the version to be released.
- 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.
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`