Skip to content

Release Checklist

damiancosmoschapman edited this page Sep 26, 2023 · 3 revisions

Checklist to perform a Release

Step 1. SVN

  • Merge the Branch into the Trunk

  • Right-click the TortoiseSVN >> Check for modifications against the SVN Trunk to list all changes

  • Commit any above change into Trunk

  • Create a Tag against the relevant version

  • Create a Branch against the next relevant version

Step 2. Deployment

N.B. The following procedure must be repeated for every environment, starting from Test. If successful, then proceed with the Live one. N.B. Take a backup of the currently deployed system.

Server Code

  • Enable the maintenance mode by setting the key API_JSONRPC_MAINTENANCE to TRUE in the Web.config. This is highly recommended for the Live environment to freeze the application and avoid any issue during the upgrade of all Tiers (Server, Database, Client).
  • Publish the server compiled code using Visual Studio from the SVN Tag in the relevant environment

Step 3. Verification

  • Disable the maintenance mode by setting the key API_JSONRPC_MAINTENANCE to FALSE in the Web.config of the published Live environment to unfreeze the application.
  • Check each environment is up and running
  • Check the Application version in the page footer is updated as expected

Step 4. GitHub

  • Delete the content of the server folder in the GitHub repository
  • Export the content of the server folder from SVN Tag in the GitHub repository
  • Right-click TortoiseGit >> Check for modifications against the GitHub repository to list all changes
  • Diff (merge where appropriate) the following Server files:
  • server\Web.config
  • server\Web.config.github
  • server\PxStat\Resources\Config\config.json
  • server\PxStat\Resources\Config\config.json.github
  • N.B. Double-check the above Web.config to ensure that all sensitive information have been stripped/anonymised (i.e. usernames, passwords, IP addresses, etc...)
  • Strip references to PDFapi.Test project in the following Server files:
  • server\PDFapi\PDFapi.sln
  • server\PDFapi\Properties\AssemblyInfo.cs
  • Add / Delete any relevant file where appropriate across the server folder
  • Commit the GitHub changes and list the Issues into the commit message
  • Push the GitHub changes
  • N.B. This operation is irreversible, DO NOT push unless 100% sure of having stripped/anonymised all sensitive information.
  • Create a new Release and list all the Issues with the label tested against the relevant Milestone.
  • Group the Issues by their type for better visibility: Enhancement, Bug, Security Vulnerability if any are present.
  • Add the label released to all the above Issues and mark them as closed.
  • Close the relevant Milestone and create the next one.