- Scrub the system for deprecated features and remove at least low hanging fruit... both code and tests.
- Always build the system and run smoke tests before committing and pushing code. (This includes when merging code from a branch into another branch.) This is particularly critical near system freezes (QA Complete, Visual Freeze, and especially Code Freeze.)
- Check sample missions on all platforms
- Currently, running samples is assigned to one person. We should modify the release process to assign it to one person per platform.
- Seriously consider adding the bundling shell scripts to the daily build script so that we create zip/installer every day and test against those...
- Include all of the plugin components when running smoke tests and system tests. We are looking for side effects as well as failures in the component being worked, so we need to watch for those everywhere.
- Raise and resolve test case failures as early as possible. The recent issue with Ephem_GMAT_Code500_ACE_OpsPrototype_v13 was thought to be a config issue, but there were other signs of a problem that we neglected.
- Log the exact Git commit and SVN revision used for daily builds and regression tests. It can be difficult to determine where in the commit graph the branch used for the build is, especially when multiple branches are being developed in parallel.
- Some pushes to the central repository will not compile. That makes it difficult to track down when a change occurred. It would be useful to include a note on the commit message stating that the code does not compile, and why.