2.0-rc-1
Pre-release
Pre-release
Narrative Summary
Version 2.0-rc-1 represents the final major change in the 2.0 release cycle for fmdtools. The major change here is a major refactoring of the define package, resulting in more tractable syntax for Block
and Architecture
classes. This effort represents a final shaping of the underlying fmdtools simulation structures into a logical, organized, object-oriented simulatin language. Note that models from 2.0-beta-3 and before will thus need to be adapted somewhat to work with this version. Some major changes include:
- Re-organization of define package into object, container, block, and architecture subpackages representing each type of simulation.
- Definition of new BaseObject, Container, and Architecture classes which are now used to define how simulation structures initialize attributes, create histories, return mutables, etc
- FxnBlock is now named Function in keeping with class name convention
- Model, ASG, Comparch repaced by FunctionArchitecture, ActionArchitecture, and ComponentArchitecture classes which all inherit from/specialize the base Architecture class
- Simulation histories now fully created at instantiation via the tracking argument rather than in propagate.
- Roles (i.e., init_c, init_p, init_flowname) now given explicit names corresponding to their type (i.e., container_c, container_p, flow_flowname)
- Basic adaptation of tests, examples, and documentation.
- Usage of "coverage" package in testing to give overall testing coverage report.
Auto-generated release notes
Release Notes - Resilience Analysis and Design - Version fmdtools 2.0-rc-1
Sub-task
Story
- [RAD-233] - Refactor and Generalize Architectures (ASG, CompArch, Model)
- [RAD-319] - Add testing coverage to code testing reporting
Release checklist
<style> </style>Step | Description | Complete? | Comment |
---|---|---|---|
1 | Sync appropriate branches into release branch | X | |
1a | Internal branches (e.g. main dev) | X | |
1b | External branches (e.g. main) | x | |
2 | Run script run_all_tests.py and verify test results are appropriate | X | |
2a | Run full tests | x | 11 failures, mainly in model reset (no longer used but kept for future) and rover model. Some errors also in rover model, AST sampling due to lack of packages. 76% coverage on inaugural run, weak spots identified in rover, pump examples. |
2b | Regenerate badge | x | |
3 | Update version numbers in appropriate files | x | Fmdtools 2.0-rc-1 |
3a | Check files conf.py LICENSE.py README.py Intro_to_fmdtools.md | x | |
3b | Run a repository-wide search for the version number | x | |
4 | Generate the documentation using “./make html” | x | Need to figure out what is going on with badge – adds extra tests to numerator and denominator. (the errors?) |
5 | Commit and tag branch with the appropriate version. | x | |
5a | git tag -a v2.x.x -m ‘version 2.x.x’ | x | |
6 | Sync to remotes | x | |
6a | Push release branch to github and internal remotes | x | |
6b | Overwrite documentation on gh-pages and push to GitHub | x | |
7 | Create a release in GitHub | X | |
7a | incorporate a narrative summary of features and changes | X | |
7b | incorporate the auto-generated bitbucket release notes. | x | |
9 | Update/check external CI resources as needed | x | |
9a | CodeFactor | x | 66 fixed issues, 27 new issues in the past month (173 total). Grade remains A-. |
10 | If release is ‘stable’ Upload to PyPI (see below | NA |