The Run Tab shows the status of the currently running project, with a progress bar. The bar increments by one every time an action completes while your project runs, and the total is dynamically calculated. This is what the progress bar looks like during a run:
The calculation of progress is only an estimate - these are the steps FinalBuilder makes to estimate the run progress:
- When a project first starts, the progress is set to zero and the progress bar total is calculated.
- First the log archive is queried to find the last successful run. If there was a last successful run, then the number of actions that executed in that run is used to set the total.
- If there was no last successful run, then FinalBuilder calculates how many actions are in your project and uses that as the total.
For some projects, the above methods to calculate the progress may not be adequate. For example, a project may have two modes (eg. Full and BugFix). The two different modes may have very different progress totals, and using the last successful run action count method will only work some of the time. You can override the estimated total using a either the script method "SetEstimatedProgressTotal", or by using the Set Build Status Message action.
This section displays the following information:
- A "running man" animation to indicate the status of the run. When the project completes this changes to either a tick or cross depending on the result.
- Buttons to Run or Stop the run
- Estimated progress of the entire run.
- Action Statistics (total, successful actions, skipped, actions in error, errors ignored)
- List of recent actions (showing result of action, the run time and action description)
Current Running Actions
This section shows the current Target as well as a list of all the currently running actions (it is possible to have more than one action running simultaneously using the ASync Action Group)
Setting the estimated progress using script
The SetEstimatedProgressTotal script method takes a single integer parameter which allows the progress total to be set to any value at any time.
Using the same example above - your project has Full and BugFix modes. You know (because you've run the Full mode enough times) that Full mode will run 469 actions, and that BugFix runs only 210 actions. Your project will have some logic at the start which figures out if Full or BugFix is required, and using that same logic it can call the script function to set the Estimated progress total.
This gives you complete control over the estimated progress, and it can be set at any point in your project.