Automation of ASHRAE 140 Testing Verification
- Read in tables from Std140_TF_Output.xlsx
- Format as JSON objects into a 'processed' JSON file
- Render graphics from processed file
- Visualize graphics in Rmd files.
- User submits file in 'input' folder via pull request.
- Github Actions (GA) detects new files in 'input' folder.
- GA runs verification workflow: schema, and sensible outputs. (Not yet implemented)
- GA converts excel files to processed json file.
- GA detects new files in 'processed' folder.
- GA renders graphics based in presence of objects in processed file
- Tests passed, PR ready for merge.
- If this repository is forked, then a personal access token must be created and saved as a repository secret name 'PAT'. Note, only
workflow
permissions need to be granted for this token.
- A file path is created within the
input/
directory that has the following format:/<software-name>/<version>/Std140_xx_output.xlsx
.- This file contains at least the 'YourData' tab of the stock
Std140_xx_output.xlsx
file with the pertinent tables filled out.
- This file contains at least the 'YourData' tab of the stock
- Github Actions makes a list of files to process by checking the created/modified files in the
input/
directory.- The command line call performed is
python src/main input/<software-name>/<version>/Std140_xx_output.xlsx
- The command line call performed is
- For each created or modified file, the InputProcessor class picks up the file, performs some data validation via the DataCleanser class, and then creates a JSON file that is written to the
processed/
directory using the same file path as specified above. This JSON file contains a structured object that should be consistent across all processed files.- Future iterations of this program should include a schema validation step to ensure the data integrity.
- Github Actions makes a list of files to render by checking the created/modified files in the
processed/
directory.- The command line call performed is
python src/main processed/<software-name>/<version>/std140_xx_output.json
- Individual graphics may be produced using the
rg
flag. Example:python src/main processed/<software-name>/<version>/std140_tf_output.json -rg section_7_table_b8_1
. Multiple section* arguments will render multiple tables.
- The command line call performed is
- For each created or modified file, the GraphicsRenderer class walks attempts to generate all graphics for that section. These graphs are stored as PNG files in the
rendered/images/<software-name>/<version>/images
directory using the same file path as specified above. A markdown file will also be generated automatically underrendered/images/<software-name>/<version>/
directory for a full rendering of the generated images.