Welcome to the very hectic, very tedious and very manual release process.
- Tools to use for markdown: Visual Studio Code.
- Performing release changes in a branch enables higher quality of release..
- Create the new release version branch locally,
vX.X.X
- Use semantic versioning whenever possible.
- Add the 4th
.X
as adhoc patch to previous released version.
- Update
common\VersionInfo.cs
[assembly: AssemblyFileVersion("X.X.X.0")] [assembly: AssemblyInformationalVersion("X.X.X.0")]
- Commit and push branch to GitHub.
- Find all closed issues against the releasing milestone.
- Assure all closed issues have the correct milestone set.
- Draft a new release.
- Tag the pushed branch with
-alpha
postfix. Eg:- Enter
vX.X.X-alpha
in Tag version. - Pick the releasing branch from the drop down.
- Enter
- Release title:
Jenkins Tray - vX.X.X
- Description sample:
Minor update release - Version 1.0.5 Enhancements / bugfixes include: * Jenkins Error 500 when trying to claim a build with Claim Plugin v2.5 and above. #70 * Ability to stop / cancel ongoing builds. #66
- Check This is a pre-release.
- Publish pre-release.
- Check AppVeyor for build status.
- Get build output from build server.
- It builds internally due to DevExpress license constraint.
- Ensure the MSI filename has correct version postfix.
JenkinsTray_vX.X.X.0.msi
- Authenticode sign the MSI file and ensure the signature is correct.
- Test install and upgrades.
⚠️ Don't screw up, v1.0.4 introduced installation upgrade problems!
- Upload the MSI file to the pre-release.
- Update pre-release.
- Go to the pre-release.
- Copy the link to the uploaded MSI file from Downloads section in the pre-release.
- Update
scripts\version.properties
:- Paste the link to
version.installerUrl
. - Remove the
-alpha
from the link. ⚠️ Simply because the release is not an alpha. (What a crappy process.)
version.number=X.X.X.0` version.installerUrl=https://github.com/zionyx/jenkins-tray/releases/download/vX.X.X/JenkinsTray_vX.X.X.0.msi
- Paste the link to
- Commit and push changes to branch to GitHub.
- Edit the pre-release notes.
- Create a new release tag without
-alpha
postfix based on the same branch. Eg:vX.X.X
.⚠️ Tag name has to match theversion.installerUrl
inscripts\version.properties
file.
- Uncheck This is a pre-release.
- Publish the release.
- Test download link.
- Merge branch to master, and push.
git checkout master git merge vX.X.X git push origin
- Test with previous JenkinsTray version for update notification and upgrade procedure.
- Delete the branch, and push.
git branch --delete vX.X.X git push origin --delete heads/vX.X.X
- Delete the
-alpha
tag, and push.You can also delete the tag from UI.git tag --delete vX.X.X git push origin --delete tags/vX.X.X