What artifacts to save for a released build?
So, I now know what to save from nightly builds. What about when I give something to customers?
For example, I probably want to save debugging information (e.g. PDB).
- tag of source files
- any other source files that might not be in svn - for example config.status
- build log
You made me wonder if I'm missing anything important
- Compiler and library version information (it may not be part of the build log). Somebody else mentioned the whole binaries.
- Linker map file (it can sometimes help the remote debugging of a problem).
- Unstripped executable (if on a Unix system you strip it the executable before making it available to clients).
For the SDK releases we do include:
- PDB and XML for the libraries (packaged with the latest snapshot of the samples)
- Packaged snapshot of sources from SVN (just because we can)
- Link to the online documentation (docs are generated from the source automatically)
Trace messages don't necessarily need to be generated by default but the possibility to enable them can be very helpful.
Results and Information generated from ATPs that are run on the build (probably as part of the build process).