Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump cobra to v1.2.0 and update the shell completion scripts #10841

Closed
wants to merge 2 commits into from

Conversation

Luap99
Copy link
Member

@Luap99 Luap99 commented Jul 1, 2021

Bump github.com/spf13/cobra to v1.2.0, https://github.com/spf13/cobra/releases/tag/v1.2.0

The new cobra v1.2.0 release brings a number of bugfixes for shell
completion scripts. Regenerate the scripts with make completions
to sync them with the upstream version, currently we have some custom
ones to avoid some upstream bugs. Because the new cobra version has
all fixes we should use the upstream scripts.
Add a check to CI to ensure we allways use the up to date scripts.

Fixes #9730

Fixes containers#9730

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
The new cobra v1.2.0 release brings a number of bug fixes for shell
completion scripts. Regenerate the scripts with `make completions`
to sync them with the upstream version, currently we have some custom
ones to avoid some upstream bugs. Because the new cobra version has
all fixes we should use the upstream scripts.
Add a check to CI to ensure we always use the up to date scripts.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 1, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Luap99

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 1, 2021
@Luap99
Copy link
Member Author

Luap99 commented Jul 1, 2021

@edsantiago PTAL I think you might like this one.

@edsantiago
Copy link
Collaborator

Looks promising - I especially like that the checked-in completion files no longer need special magic.

I seem to have lost the ability to complete formats: ./bin/podman info --format '{{.<TAB> now just beeps (zsh and bash). Does it work for you? Am I doing something wrong?

@@ -216,7 +216,7 @@ Register-ArgumentCompleter -CommandName 'podman-remote' -ScriptBlock {
Default {
# Like MenuComplete but we don't want to add a space here because
# the user need to press space anyway to get the completion.
# Description will not be shown because that's not possible with TabCompleteNext
# Description will not be shown because thats not possible with TabCompleteNext
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
# Description will not be shown because thats not possible with TabCompleteNext
# Description will not be shown because that's not possible with TabCompleteNext

@@ -216,7 +216,7 @@ Register-ArgumentCompleter -CommandName 'podman' -ScriptBlock {
Default {
# Like MenuComplete but we don't want to add a space here because
# the user need to press space anyway to get the completion.
# Description will not be shown because that's not possible with TabCompleteNext
# Description will not be shown because thats not possible with TabCompleteNext
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
# Description will not be shown because thats not possible with TabCompleteNext
# Description will not be shown because that's not possible with TabCompleteNext

Copy link
Member

@TomSweeneyRedHat TomSweeneyRedHat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick scan review, it looks great! But tests aren't hip

@edsantiago
Copy link
Collaborator

ISTR Cobra having problems with trailing whitespace before. Since we can't rely on them to produce clean code, I suggest the following:

diff --git a/Makefile b/Makefile
index 8e66f629a..9657ed821 100644
--- a/Makefile
+++ b/Makefile
@@ -419,7 +419,7 @@ completions: podman podman-remote
            for remote in "" "-remote"; do \
                podman="podman$$remote"; \
                outfile=$$(printf "completions/$$shell/$${outfiles[$$shell]}" $$podman); \
-               ./bin/$$podman completion $$shell >| $$outfile; \
+               ./bin/$$podman completion $$shell | sed -E -e 's/[[:space:]]+$$//' >| $$outfile; \
            done;\
        done

@Luap99
Copy link
Member Author

Luap99 commented Jul 2, 2021

Flag completion is completely broken, I have to fix this upstream :/

@Luap99
Copy link
Member Author

Luap99 commented Jul 2, 2021

/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 2, 2021
@rhatdan
Copy link
Member

rhatdan commented Jul 2, 2021

Let's close this PR, since it will probably be v1.2.1 or later.

@rhatdan rhatdan closed this Jul 2, 2021
@vrothberg
Copy link
Member

Note: #10844 forces cobra to 1.1.3 via a replace in go.mod. Once cobra is fixed, we can bump it again. The replace will make sure that Podman uses this specific version regardless of what other dependencies may want.

@Luap99
Copy link
Member Author

Luap99 commented Jul 2, 2021

We got it fixed quickly upstream, new PR #10852 bumps to 1.2.1

@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 22, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bash tab completion doesn't work if you specify arguments/options
5 participants