Build release (candidate) package

instructions follow

Notes

  • you should have ant installed
  • use clean checkout to perform release build, NOT development checkout
  • see checking out branch on how to start
  • each build must be tagged with build/VERSION tag
    • note that in SVN tagging is exactly the same as copying any repo to new repo

VERSION increment example:

  • first candidate build 4.0.1-rc1 (Buildmaster)
    • 4.0.1-rc1 tests failed, need another rc
  • second candidate build 4.0.1-rc2 (Buildmaster)
    • 4.0.1-rc2 tests succeed, it is announced
  • change package non technical contents (Product Manager)
  • final release package 4.0.1 (Product Manager)
  • custom build "4.0.4-custom_jani3" (anyone)

About custom builds:

  • Always write unique version number to file build/VERSION
  • For VERSION tag, you should use e.g. <version>-custom_<tag>, e.g. 4.0.3-custom_jani1, this namespace is "guaranteed" to be unique.

Read repository guidelines first.

Steps

# go to proper '''clean''' directory, do not build from your own possibly "dirty" workspace
cd ~/toolkit/4.0/build
# increment VERSION, e.g. 4.0.1-rc2
jed VERSION
# if required, pull changes, usually when building greater than first RC
svn merge -r x:y https://svn.itmill.com/svn/itmill-toolkit/trunk
# commit pulled changes into 4.0
svn ci -m "Pulled r822:835 changesets from trunk into 4.0.1-rc2"
# commit changes
svn ci -m "Building <VERSION> release."
# tag with VERSION tag (in real life this is repo copying)
svn copy https://svn.itmill.com/svn/itmill-toolkit/branches/4.0 \
 https://svn.itmill.com/svn/itmill-toolkit/tags/<VERSION> -m "Tagging <VERSION> release"
# execute build script, takes 5-40 minutes depending on hw
ant
# commit release package zip to SVN
cp result/itmill-toolkit-4.0.1-rc2.zip ~/toolkit/builds/internal/4.0.1-rc/
cd ~/toolkit/builds/internal/4.0.1-rc
svn add itmill-toolkit-4.0.1-rc2.zip 
svn ci -m "Added 4.0.1-rc package."

After ant is executed, inspect build scripts output carefully

  • if warnings or errors are displayed
    • resolve them inplace or create tickets and stop release process

Instructions and script on how to build releases

OLD, do not use this anymore toolkit-release-make.pl