Closed svengeance closed 3 years ago
This has been identified and implemented about here: 0ace055f57bdd7d7fbb9f68fd66d8c8b49ad3055
HuskyInstaller.cs is the top-level execution engine that is responsible for taking a fully validated HuskyWorkflow and executing it, iterating over each stage/job/task.
In the future we will need to add better support for conditional execution of tasks, install/update/uninstall specific tasks, and other such dynamic movement.
Context
There should be a pattern for executing the installer that respects a multi-step approach.
Elevator Pitch
Mirroring the approach of CI/CD pipelines and their tiered approach (run, stage, job, task), we should let users logically group together the execution plan of their installer. Depending on the approach, we can then reset the app state between tiers (think service scoping), we can run stages in parallel, we can encapsulate logic & data/variables to specific stages (and explicitly share between), and we can group our logging and metrics by stage.
Interested Users
End Users