create asgs versioning scheme and add asgs version to run.properties
It would be nice to implement a structured versioning scheme for asgs and to add this version to the run.properties file automatically ... this would aid in provenance, troubleshooting, and the execution of asgs scripts in a standalone fashion (to detect whether the version of an asgs script that is being executed manually is different from the one that created a particular set of scenario files in an original asgs automated execution).
Added a health check (git repo intebrity check) and ASGS directory age check (avg age of top level files).
Will be resolved by #1461
Just to summarize and record results of our recent discussion, the version metadata written to run.properties should include
- Git SHA
- Git branch (for human readability)
- Git tag (if any) (for human readability)
Made some changes, added:
- Git SHA
- Git branch (for human readability)
- Git tag (if any) (for human readability)
Turned the default -S check to be optional, -c. This does a "health check" on the ASGS directory's integrity.
This adds the git info to the environment, run.properties via writeProperties.sh, asgs-info, show version, adds a health check, and provides a file called $SCRIPTDIR/VERSION that can be updated with a value that is printed with asgs-info -v. This does not do anything to update the VERSION file on release, but this can be done as a manual step of the release process.
If it's not a git repo, asgs-info just warns ASGS is not a git repo. and the envars exist but are not set (empty). asgs-info -v always pulls from $SCRIPTDIR/VERSION and doesn't rely on git.