Release Instructions
Symphony does not currently have an automated release system. These release instructions have been created in order to avoid mistakes while making a release.
Instructions
Build the core framework
- Pull the latest symphony-core repository changes and ensure everything is up-to-date by running:
git pull; git submodule foreach --recursive "(git checkout master; git pull)"; git status
- Open the Developer Command Prompt for VS2012
- Change directory to the root symphony-core source directory containing the Build.proj file (i.e. src\symphony-core)
- Clean and build the project by running (replace SYMPHONY_VERSION with the next release version number):
msbuild Build.proj /t:Go /p:Configuration=Release /p:Platform=x64 /p:SYMPHONY_VERSION=2.0.2.1
- Copy the necessary assemblies from bin/x64/Release to symphony-matlab/lib/Core Framework:
- HDF5.dll
- hdf5_hldll.dll
- hdf5dll.dll
- HDF5DotNet.dll
- HekaDAQInterface.dll
- HekaIOBridge.dll
- HekaNativeInterop.dll
- log4net.dll
- NIDAQInterface.dll
- Symphony.Core.dll
- Symphony.ExternalDevices.dll
- Symphony.SimulationDAQController.dll
- szip.dll
- zlib.dll
- Copy msvcp100.dll and msvcr100.dll from C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT to symphony-matlab/lib/Core Framework
- Copy NationalInstruments.Common.dll from C:\Program Files (x86)\National Instruments\MeasurementStudioVS2012\DotNET\Assemblies\Current to symphony-matlab/lib/Core Framework
- Copy NationalInstruments.DAQmx.dll from C:\Program Files (x86)\National Instruments\MeasurementStudioVS2012\DotNET\Assemblies (64-bit)\Current to symphony-matlab/lib/Core Framework
Build the app package
- Pull the latest symphony-matlab repository changes and ensure everything is up-to-date by running:
git pull; git submodule foreach --recursive "(git checkout master; git pull)"; git status
- Open MATLAB
- Change directory to the root symphony-matlab directory
- Generate the documentation from the wiki by running:
site
- Replace src/main/resources/docs with target/site
- Add the lib and src directory and their child directories to the MATLAB path
- Open Symphony.prj
- Click "Refresh dependencies"
- Close the project
- Edit
symphonyui.app.App
and make sure the version matches the next release version number (this should generally be the same number used while building the core) - Package the app by running:
package
The releasable app (Symphony.mlappinstall) is now under the target directory.
Create a new release on GitHub
- Go to https://github.com/Symphony-DAS/symphony-matlab/releases
- Click "Draft a new release"
- Enter the tag version as the Symphony version number being release (e.g. 2.0.2.1)
- Enter the release title in the format "SYMPHONY_VERSION (MAJOR.MINOR-DEV_STAGE.REV) x64" (e.g. 2.0.2.1 (2.0-rc1) x64). The third position of the full SYMPHONY_VERSION indicates the DEV_STAGE: 0 = alpha, 1 = beta, 2 = release candidate, 3 = release. The forth position indicates the REV.
- Enter the release notes
- Attach the Symphony.mlappinstall file
- Mark the build as pre-release if the dev stage is alpha, beta, or release candidate
Update the Symphony-DAS website
- Pull the latest symphony-das.github.io repository changes and ensure everything is up-to-date by running:
git pull; git submodule foreach --recursive "(git checkout master; git pull)"; git status
- Open the _config.yml file
- Replace the "version" property value with the new Symphony version number
- Commit and push the change to GitHub