Developing Creating and deploying a new version - happy-geeks/wiser GitHub Wiki

Creating and deploying a new version of Wiser

Some steps in this document can only be done by employees of Happy Horizon. But first you need to know what our customers are mostly using Wiser during work hours in the CEST timezone, so try to do any deployments outside of those hours.

To create a new version for Wiser, you can follow the following steps:

  1. Make sure that the latest build of the develop branch has been successful. If it wasn't, see if you can fix these errors. Otherwise, the new version will have to be postponed until they are fixed. This can be checked here.
  2. Make sure you have the develop branch active on your development PC and that it's up-to-date.
  3. Open the file FrontEnd/Modules/Dashboard/Views/Dashboard/Index.cshtml. It contains an HTML element with ID update-log, go there.
  4. There should be an entry at the top which has no version number or date yet, update the version number and date to match current version you are now making.
  5. Check what is written there and make sure that all descriptions are understandable for costumers;
    • if they are too technical rewrite them;
    • if they are not useful for customers to know about, remove them;
    • if a development, that is useful for customers to know, is missing, add it.
  6. Open the files Api/Api.csproj and FrontEnd/FrontEnd.csproj and increase the version number there (note that the version number is saved in 3 different locations in each file, so 6 in total). We use dates in our version numbers, so make sure you update them correctly; our version numbers look like this: [major].[minor].[year][month].[patch/revision].
    • The major version should only be increased for very large/impactful changes, such as a big refactor or a new UI or something. Discuss this with the team before increasing the major version.
    • The minor version should be increased when bigger new functionalities are added, such as a completely new module, or an upgrade to a new (major) .NET version.
    • The year and month should always be the last 2 numbers of the current year and the 2 numbers of the current month (so February 2025 would become 2502 for example).
    • The patch/revision should be updated for every deploy, unless one of the previous numbers has already been updated. This always starts with a 1, so if you make the first version of a new month, set the revision number back to 1.
  7. Commit and push these changes to develop and write "Created version X" in the commit message (replace X with the new version number). There is no need to create a pull request for this.
  8. Merge the branch develop into main and push that to GitHub.
  9. Go to https://github.com/happy-geeks/wiser/releases and click the button "Draft a new release".
  10. Click on "Choose a tag" en enter "vX" in the text field (replace X with the new version number).
  11. A new option will appear "Create new tag: vX", click that.
  12. Click the button "Generate release notes" to automatically fill the release notes based on pull requests that were made.
  13. Check the Git history if there are any other changes that don't show up automatically and add them.
  14. Click the button "Publish release".
  15. Wiser will now be automatically deployed to our servers. This will take about 5 minutes. You can check the progress here. You can do step 17 while waiting for this.
  16. Once the deployment is done, do some tests to make sure Wiser still works.
  17. Search in Asana for all tickets that have the status "Wiser livegang nodig" and change their status to "Live / opgeleverd" and add a comment to those tickets to notify the customer that it's done. You can use this link to check.
  18. Check the section Ready for live in Asana in the project "Interne ontwikkeling" and move all tickets related to Wiser (tickets that are also linked to the "Wiser 3.x" project), to the section Live.