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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user