Sobek 3 – Release branching

This document describes which steps you need to take when creating a release branch for Sobek 3. Although aimed at DeltaShell developers, one might require help from someone more familiar with the rekenhart svns (eg, DS tree).

SVN steps

  • Create svn branch (copy of trunk\delta-shell)
  • Remove non relevant plugins from branch (in lib, src, test and test-data), eg:
    • Toolbox
    • Data.Xml
    • Developer Tools
    • Habitat
    • MorphAn
    • WFDExplorer
    • etc.
  • Branch each rekenhart (if you expect fixes), or tag it.
  • Modify externals and set it to the created branch (previous step), or just peg the revision number to the current
    • Flow ModelApi external: .\delta-shell\src\Plugins\DelftModels\Externals, svn properties on ‘ds’ and modify the svn:externals property.
    • Use svn propget svn:externals -R to find all externals in the code.
  • Remove all non relevant plugins from Setup solution / DeltaShell.proj
  • Increase Sobek plugin version numbers eg (3.x to 3.x+1) in the trunk.
  • Branch the testbench of each plugin (if you expect fixes), or tag it.

TeamCity steps

Do this after all SVN steps, or at least step 1 & 2, are completed to make sure checkout is faster & clean!

  • Create copy of the trunk or a branch project configuration
  • Rename the VCS root to the 3.x version number (if your vcs root is shared, you have the option to save it as a copy once you modify it)
  • Change all checkout directories to a relevant (short!!!) name
  • Remove / merge non-relevant configurations (for example the test coverage configurations and build zip)
  • Disable / remove the computational engines dll-copy configurations, or modify the vcs root to point at a branch.
  • Fix the ‘Build number format’ of all testbench configurations: {build.vcs.number.<vcsrootname>}
  • Warning: after committing the first change in the branch, all build agents will start a full checkout, which can take between 2 and 3 hours, during which time the build agent capacity for other projects is extremely low.
    For minimal impact, you should at the end of the day assign a single configuration (eg, Unit Test) to all (relevant) build agents. This will make sure they all do the full checkout during the night without disturbing other projects.

MSI steps

  • Remove unrelated wix-projects (Habitat, WFD Explorer, MorphAn)
    • Remove these from delta-shell\setup\plugins too
  • Remove irrelevant build targets from delta-shell\DeltaShell.proj (Mis and MsiDebug tags), can be edited with any text editor
  • Remove EAP / preview texts in SOBEK wix project -> Product.wxs and SOBEK wix project properties installer name
    • When changing installer name (properties of wix project)
  • Fix version numbers in SOBEK wix project -> Product.wxs
  • Update license ( delta-shell\setup\Plugins\Sobek\License.rtf )
  • Update manuals ( delta-shell\setup\Plugins\Sobek\Resources )
    • Add new manuals for new plugins here and add and link them in Welcome.html
    • Add the new files in Product.wxs
  • Update any images / etc ( delta-shell\setup\Plugins\Sobek\Resources )
  • No labels