fix: docker-options:list flag parsing and ci test fixes

The :list subcommand had `SetInterspersed(false)` which forced flags to come before positional arguments; in practice users invoke it as `docker-options:list <app> --process X --phase Y`. Drop the non-interspersed setting so flags can appear after the app name. Two existing buildpacks/dockerfile tests appended directly to the legacy `DOCKER_OPTIONS_DEPLOY` file - that path is no longer the source of truth, so switch them to `docker-options:add`. The new migration test invoked `dokku plugin:trigger install` which fans out to every plugin and trips on unrelated permission errors; call the docker-options install binary directly instead. Tighten the report and JSON assertions to match the actual output format (`.` becomes a space in the display key, and JSON values may concatenate options).
This commit is contained in:
Jose Diaz-Gonzalez
2026-04-29 00:35:26 -04:00
parent 9c8d5f54fb
commit 97b86707e7
3 changed files with 11 additions and 21 deletions

View File

@@ -75,7 +75,6 @@ func main() {
err = dockeroptions.CommandClear(appName, *processes, phases)
case "list":
args := flag.NewFlagSet("docker-options:list", flag.ExitOnError)
args.SetInterspersed(false)
processType := args.String("process", "", "process type to query (omit for the default scope)")
phase := args.String("phase", "", "phase to query [build|deploy|run] (required)")
args.Parse(os.Args[2:])