Brief Software Release Example CDI Software Dev Cluster
Brief Software Release Example CDI Software Dev Cluster January 25, 2017
Context ● Software Package: Prompt Assessment of Global Earthquakes for Response (PAGER) https: //github. com/usgs/pager ● Application Overview: ○ ○ Real-time, scientific software, operates 24 x 7 Project already existed on github Prior published papers on all interpretive science implemented in this software One software author - with special thanks to Mike Hearne for sharing his work as an early adopter of the software release process
Things to have in place before starting release ● Tests and results ● License and Disclaimers(example https: //github. com/usgs/bestpractices/blob/master/LICENSE. md) ○ ○ Provisional http: //www. usgs. gov/fsp_disclaimers. asp#11 (most software will start with this disclaimer) Approved http: //www. usgs. gov/fsp_disclaimers. asp#5 ● Readme - basic description of the purpose/function of the code and how to use it ● Digital Object Identifier(DOI) (https: //github. com/usgs/bestpractices/blob/master/doi. md) ● Nice to have metadata (not required) for discovery on code. gov (https: //github. com/usgs/bestpractices/blob/master/software/metadata. md)
Software Review At least two reviewers are required, but more are supported. Three basic things to be reviewed: 1. Handling of any sensitive/security information, the “Administrative review” a. No passwords, IPs, etc. b. https: //github. com/usgs/best-practices/blob/master/software/reviews. md#administrative-security-review 2. Software best practices review or code review a. Are coding standards followed, appropriate error handling, any performance considerations. . . b. https: //github. com/usgs/best-practices/blob/master/software/reviews. md#code-review 3. Domain expert or scientific review (does the code do what it says it does? ) a. Maybe review test cases and results, maybe a demo walkthrough, maybe a Jupyter notebook. . . b. https: //github. com/usgs/best-practices/blob/master/software/reviews. md#subject-matter-expert-review
Software Review Tracking ● Routing Sheet (this example follows process similar to that for abstracts) https: //drive. google. com/open? id=1 g 84 z. Hcr. Xu. Rw 4 Iw 6 o. Rg. SDUwpc. U 9 K_j 8 lf ● Feedback provided via repository issues, or email, or… ○ Example: https: //github. com/usgs/pager/issues? utf 8=%E 2%9 C%93&q=is%3 Aissue+review ● Feedback reconciliation actions documented for Science Center Director ○ Example: https: //docs. google. com/document/d/1 im 2 h. Vz. Tnvl. MPk. EVBwruta. QTm. YEm 6 ec. QAm. Wrp. Qewpl. I/edit? usp=sharing ● Tag the release in repository (example https: //github. com/usgs/pager/releases) ● Update disclaimer to “Approved” text at http: //www. usgs. gov/fsp_disclaimers. asp#5
Guidance and References ● Best Practices and software review guidance on ○ ○ USGS Git. Hub (https: //github. com/usgs/best-practices) https: //github. com/usgs/best-practices/tree/master/software ● 2017 CDI Data. Blast Poster on Software Release Suggestions (https: //my. usgs. gov/confluence/pages/viewpage. action? page. Id=5685596 15) ○ Numerous references are listed in this poster as well
- Slides: 6