feat: conditionally execute the post-stack-set call

If the value does not change, then we should not trigger the command
This commit is contained in:
Jose Diaz-Gonzalez
2021-01-23 17:37:41 -05:00
parent b5c85ad5be
commit 7caa95b3f3
2 changed files with 8 additions and 1 deletions

View File

@@ -140,6 +140,8 @@ The specified stack can also be unset by omitting the name of the stack when cal
dokku buildpacks:stack-set node-js-app
```
A change in the stack value will execute the `post-stack-set` trigger.
Finally, stacks can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_IMAGE` environment variable (`gliderlabs/herokuish:latest` by default).
```shell

View File

@@ -141,6 +141,11 @@ func CommandSet(appName string, buildpack string, index int) error {
// CommandStackSet implements buildpacks:stack-set
func CommandStackSet(appName string, stack string) error {
oldStack := common.PropertyGet("buildpacks", appName, "stack")
common.CommandPropertySet("buildpacks", appName, "stack", stack, DefaultProperties, GlobalProperties)
return common.PlugnTrigger("post-stack-set", []string{appName, stack}...)
if oldStack != stack {
return common.PlugnTrigger("post-stack-set", []string{appName, stack}...)
}
return nil
}