Software Releases Wiki¶
DAQ Software Releases will include DAQ Internal, Offline External as well as Other External packages and their "private" tags.Frozen releases will be labeled as R<em>nn.mm.bb</em>, where
- nn is the major release, incrementing for substantially new functionality of the system that is not backward-compatible with previous releases.
- mm is the minor release, incrementing for improvements in the current major release, for example in stability or minor functionality enhancements.
- bb is the increments for minor bug fixes.
Before each Software Release, all DAQ software developers will need to apply a private tag for their packages. Then the developers need to report the private tag name for their last stable version of the package. This will be used in the Release. By default, the last package private tag will be used even if there were recent changes to the package files.
The NOvA Offline external packages will be taken from the last Offline Release. Other external packages (such as FMWK, ups) will be specified either by own tags or by the date, which will be in ISO GMT format, e.g. 2010-07-04 13:22 GMT.
Another important aspect is testing. The developers need to come up with the testing codes to check their packages. Normally, before each Release all unitests in all packages will be run. This will test the packages themselves. Also, developers are encouraged to write the cross-packages checks, which would test if two independent applications can communicate with each other. Of course, only simple tests can be run. Some things, like sending a MilliSlice from a DCM to a Buffer Node, will be up to the developer to test. If a problem is encountered, the developers will be asked to resolve it.