usecannon / cannon-legacy

Manage EVM protocol deployments. Inspired by Docker, Terraform, and npm.

Home Page:https://usecannon.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add option to create run steps that get cached and not runned again on startup

mjlescano opened this issue · comments

Add option to create run steps that get cached and not runned again on startup
commented

so this is a practical issue that comes from providing this option in the first place. The only way (and even then it may not be enough). Therefore, when cannon builds a project, it keeps track of a value repositoryBuild, which determines if the build is ocuring in the project's original code directory. If it was imported or pulled from the cannon registry, it will be repositoryBuild = false. When the run step is invoked, it will check to make sure the current build is a repository build. If its not, it will fail immediately.

So in the end, the best solution to this problem is to not allow users to specify configurable injected options for a run step. If the configuration is not changed, the run invocation will be loadable from cache/already deployed to the network, and so there is no concern of a failure.

LMK if you have any better ideas for this, but I think following this pattern should work reasonably well and we might be able to find additional workarounds in the future.