#!/usr/bin/env python3 import os, sys sys.path.append(os.path.abspath("../../../share/trick/trickops/")) from TrickWorkflow import * class ExampleWorkflow(TrickWorkflow): def __init__( self, quiet, trick_top_level=os.path.abspath("../../../")): # Base Class initialize, this creates internal management structures if not(os.path.isdir(os.path.abspath("./MCGTrickOpsLog"))): logDirectory = "MCGTrickOpsLog" logDirectoryParent = os.path.abspath(".") logPath = os.path.join(logDirectoryParent, logDirectory) os.mkdir(logPath) TrickWorkflow.__init__(self, project_top_level=trick_top_level, log_dir=os.path.join(trick_top_level,'test/SIM_mc_generation/MCGTrickOps/MCGTrickOpsLog'), trick_dir=trick_top_level, config_file="test/SIM_mc_generation/MCGTrickOps/MCGenerationTest.yml", cpus=3, quiet=quiet) def run( self): build_jobs = self.get_jobs(kind='build') run_jobs = self.get_jobs(kind='run') builds_status = self.execute_jobs(build_jobs, max_concurrent=3, header='Executing all sim builds.') runs_status = self.execute_jobs(run_jobs, max_concurrent=1, header='Executing all sim runs.') c = self.compare() self.report() # Print Verbose report self.status_summary() # Print a Succinct summary return (builds_status or runs_status or self.config_errors or c) if __name__ == "__main__": ExampleWorkflow(quiet=True).run()