I am trying to set up a central character server for my organization and its various products. Each product has an overnight build, as well as one-time beta, RC, and releases.
The goal is to keep the cost of nightly assembly symbols for about a month, since we do a lot of “dogfooding” here, so people use internal assemblies and we would like to easily debug the files we get from our internal winqual whenever possible.
I also need to be able to permanently save all beta versions, RC and release assembly symbols.
After much research, I think the best approach here is to have two character servers: one for nightly builds (which have previous ~ 30 builds registered), and the other for permanently storing beta versions, RC characters and release, I would add build scripts to the symbol store, using product and version tags to record the product and build number. After a successful build, the script will use history.txt from the character server to determine the old build that has not been removed, and then remove it from the symstore.
In the case of "one off" assemblies for beta versions, RC versions and release versions, they will be identified by the assembly and installation user after they are created and added to the second symbol server (for permanent storage) as well.
So, I have a few questions: does this seem reasonable? There should be an easier way to do this: would most organizations with a symbol server not solve this problem?
Secondly, if I intend to continue this approach, is there a way to identify the oldest known character set registered on the server? I was thinking about using the latest modified dates, but history.txt seems to be the most appropriate, but parsing script that may be error prone. I was hoping that it would be possible to simply add a symbol with product and version information, as well as delete with product and version information.
Thanks in advance for any help. I will be happy to answer any questions that everyone may have, or provide any clarifications.