Difference between revisions of "Release production"

From GeopsyWiki
Jump to navigation Jump to search
Line 1: Line 1:
== Quick pack and testing ==
+
== Testing ==
  
Once versions are committed but not tagged for individual packets, increase version for distribution archive. This can be done in any checked out source tree (with the appropriate branch of course)
+
For Windows and Source distributions, the build process is tested automatically every night. [https://download.geopsy.org/log Daily reports]
  
  cd sesarray
+
For Mac OS X, the process is also automatic but it does not run independently on a dedicated server. Instead, it is run manually (buying and installing a dedicated server, e.g. a Mac Mini would be enough, would rather help).
  dpversion s
+
  # Current version=2.0.3
+
== Tagging ==
  dpversion C
 
  # Current version=2.0.3
 
  # Final version=2.0.4
 
  dpversion c
 
  
On the server, start quicpack-A_B with A_B being the branch number:
+
Once all tests report success, set all version numbers as explained [[Version management Here]].
  
  cd factory
+
== Publishing ==
  ./quickpack-2_0
 
 
 
or if you don't want to keep a terminal open:
 
 
 
  cd factory
 
  rm nohup.out
 
  nohup ./quickpack-2_0 &
 
  exit
 
 
 
Meanwhile you can update source trees under Mac OS X and Windows and start compilation. Make the distribution executable for these platforms (.exe or .dmg) and test it quickly (e.g. geopsy recognizes its plugins).
 
 
 
Start automatic validation tests (takes at least 30 minutes). Absolute file path is required (to change in future?).
 
 
 
  rm nohup.out
 
  nohup ../testing/test /home/sesarray/factory/sandbox-2_0/sesarray/dist/sesarray-src-2.0.4.tar.gz &
 
  exit
 
 
 
The tests can be followed at [http://www.geopsy.org/testing.log testing.log]. Or on the server:
 
 
 
  tail -f ~/testing/tmp.log
 
 
 
If they fail, sources can still be modified. Commit changes. If only a few packets were touched, keep the list and increase versions if necessary. If unsure, re-run complete version report. [[Manual version checks]]
 
 
 
Otherwise, proceed to [[#Pack and publish|pack and publish]]
 
 
 
== Pack and publish ==
 
  
 
Pack:
 
Pack:

Revision as of 13:35, 20 May 2009

Testing

For Windows and Source distributions, the build process is tested automatically every night. Daily reports

For Mac OS X, the process is also automatic but it does not run independently on a dedicated server. Instead, it is run manually (buying and installing a dedicated server, e.g. a Mac Mini would be enough, would rather help).

Tagging

Once all tests report success, set all version numbers as explained Version management Here.

Publishing

Pack:

 cd factory
 rm nohup.out
 nohup ./pack-2_0 &
 exit

Publish (copy to ftp, insert new entry in patch generator and update files for updateIcon)

 cd factory
 rm nohup.out
 nohup ./publish-2_0 &

If everything went fine, you can tag all packets with its own version tag and with distribution archive tag

 dpsubdo dpversion t
 dpsubtag sesarray-2_0_4

Usually, you merge release branch with current development trunk after a new release. For more information see Version management#Merging.

Mac OS X and Windows

  • Update devpro
 cd devtools/devpro
 cvs update
 make install
  • Update sesarray branch
 cd sesarray-2.0
 dpsubupdate
  • Change configure option to latest archive version
 vi admin/info
 # CONFIGURE_LIB="-release -no-pch -batch -prefix $PREFIX -build-key $BUILD_KEY -distribution sesarray-2.0.4"
  • Configure and make
 dpsubconfig -f
 dpsubmake

For Mac:

 cd sesarray
 dppackmac

For Windows

 cd sesarray
 dpuserfiles
 dppackwin

Updating Qt

Mac OS X

Usually, to avoid double Qt libraries plugins must be turned off by renaming /usr/local/Trolltech/Qt/plugins into plugins-off. When upgrading to new Qt release, you must rename the new plugins directory and remove the old one. dppack is fetching plugins in plugins-off directory.

Windows

Manually copy Qt dll and 'plugins' directory to /c/usr/sesarray-2.0/bin. Do this for all active branches.

Files to copy:

 QtCore4.dll
 QtGui4.dll
 QNetwork4.dll   
 QSvg4.dll                 # Not needed for branch 2.0, but needed for branch 2.1
 imageformats/qgif4.dll
 imageformats/qmng4.dll
 imageformats/qsvg4.dll
 imageformats/qjpeg4.dll
 imageformats/qtiff4.dll
 mingwm10.dll              # Not really Qt but this also an extra dll to include