SFDO-Tooling / CumulusCI

Python framework for building portable automation for Salesforce projects
http://cumulusci.readthedocs.io
BSD 3-Clause "New" or "Revised" License
363 stars 242 forks source link

Track actions taken against orgs #3835

Open jlantz opened 2 months ago

jlantz commented 2 months ago

This pull request introduces a new framework for tracking individual org related actions. The goal is to provide both better observability and auditability to the dynamic decisions made by CumulusCI and hopefully to be able to replay all actions run against the previous scratch org on refresh.

I first realized the need for this while working on the OrgSnapshots functionality I'm building. I needed to know the resolved dependencies from the flow run by a previous GitHub Actions step. CumulusCI currently doesn't store that info anywhere. Also, update_dependencies doesn't store the resolved dependencies in return_values, which is also included in this branch :)

I'll be working on docs and test cases as well as using and improving this framework before bringing the PR out of draft.

For now...

I also need to go through all the built in task classes and make sure they're recording their actions: