Release update pipeline
Currently we manually update various components post release, such as running new tournaments in the tournament repository. It would be great if we had a script that we could run that would (after a release):
- run the sample tournaments, ideally including some newer versions like a spatial tournament or Moran process
- run the fingerprints (on just the new strategies?)
- run the scripts in the axelrod examples repository (update_all.sh)
- profile a tournament (minor but useful)
- train new strategies (minor)
- etc.
run the sample tournaments, ideally including some newer versions like a spatial tournament or Moran process
The difficulty here is the lack of an API for archiving (zenodo) the interaction data. I looked around but as far as I can see that needs to be a manual process (would be great if I've missed something).
run the fingerprints (on just the new strategies?)
https://github.com/Axelrod-Python/Axelrod-fingerprint/blob/master/update_fingerprints.py does this. (Only slight issue is for the new ML strategies that read from a file would have been retrained.)
I basically have a script that does this for these two (it submits the jobs on our cluster etc). I think having the scripts to automate as much as possible in each individual repo is a good idea.