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

[cli/plugin] Fix plugin install command when plugin type is tool #16407

Merged
merged 1 commit into from
Jun 17, 2024

Conversation

Zaid-Ajaj
Copy link
Contributor

Description

When trying to install a plugin of type tool from GitHub, the Pulumi convention is to have these plugins available in repositories named pulumi-tool-<name> so that we can install them via the CLI as follows:

pulumi plugin install tool <name>

However, today this fails because we don't prefix the repository name correctly with "pulumi-tool-". This PR fixes that. Tested against Zaid-Ajaj/pulumi-tool-importer

Also removes hardcoded plugin download URL for known converter plugins of mine. These are moved to the pulumi organisation and no longer require a separate URL.

Checklist

  • I have run make tidy to update any new dependencies
  • I have run make lint to verify my code passes the lint check
    • I have formatted my code using gofumpt
  • I have added tests that prove my fix is effective or that my feature works
  • I have run make changelog and committed the changelog/pending/<file> documenting my change
  • Yes, there are changes in this PR that warrants bumping the Pulumi Cloud API version

@Zaid-Ajaj Zaid-Ajaj added area/cli UX of using the CLI (args, output, logs) area/plugins Plugin acquisition and resolution labels Jun 16, 2024
@Zaid-Ajaj Zaid-Ajaj requested a review from a team as a code owner June 16, 2024 20:39
@pulumi-bot
Copy link
Contributor

Changelog

[uncommitted] (2024-06-16)

Bug Fixes

  • [cli/plugin] Fix plugin install command when plugin type is tool
    #16407

Copy link
Collaborator

@tgummerer tgummerer left a comment

Choose a reason for hiding this comment

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

Is there a possibility that someone didn't prefix this properly, and their downloads break now? Not sure how common other tools are, but I could imagine someone not following the naming convention currently?

@Zaid-Ajaj
Copy link
Contributor Author

Is there a possibility that someone didn't prefix this properly, and their downloads break now? Not sure how common other tools are, but I could imagine someone not following the naming convention currently?

It is highly unlikely someone has a pulumi tool plugin working now because they must follow the convention so that their downloads work. Right now the downloads just don't work whether you use the shorthand version or the fully qualified name

@Zaid-Ajaj Zaid-Ajaj added this pull request to the merge queue Jun 17, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 17, 2024
@Zaid-Ajaj Zaid-Ajaj added this pull request to the merge queue Jun 17, 2024
Merged via the queue into master with commit 2766475 Jun 17, 2024
50 checks passed
@Zaid-Ajaj Zaid-Ajaj deleted the zaid/fix-tool-plugin-repo-resolution branch June 17, 2024 16:03
github-merge-queue bot pushed a commit that referenced this pull request Jun 21, 2024
Tentative changelog:

### Features

- [sdk/go] Suggest valid attributes with similar names to unrecognised
ones when validating project definitions
  [#16097](#16097)

- [cli/new] Allow passing runtime options as args in pulumi new
  [#16346](#16346)

- [cli/new] Query language runtime for options during “pulumi new”
  [#16346](#16346)

- [sdk/nodejs] Detect pnpm workspaces when running pulumi install
  [#15525](#15525)

- [sdk/nodejs] Add options to Workspace::removeStack()
  [#16333](#16333)

- [sdk/python] Automatically convert requirements.txt to pyproject.toml
when using Poetry
  [#16346](#16346)

- [sdkgen/python] Generate TypedDict types for inputs
  [#15957](#15957)


### Bug Fixes

- [engine] Fix a panic when ignoring wildcard values with arrays of
different length
  [#16406](#16406)

- [cli/engine] Fix --continue-on-error running indefinitely when a
resource fails to be created or updated
  [#16371](#16371)

- [cli/plugin] Fix plugin install command when plugin type is tool
  [#16407](#16407)

- [sdk/python] Don't incorrectly emit deprecation warnings for
non-deprecated properties
  [#16400](#16400)

- [sdk/python] Handle extra CLI arguments passed policy packs plugins
  [#16402](#16402)

- [sdk/python] Add VIRTUAL_ENV environment variable when running inside
a virtual environment


### Miscellaneous

- [cli/new] Instruct the user to use 'pulumi install' when using
--generate-only
@justinvp justinvp mentioned this pull request Jun 21, 2024
github-merge-queue bot pushed a commit that referenced this pull request Jun 22, 2024
Waiting on #16441, but there are
also a few other fixes in the queue that I'll opportunistically wait on
as well.

Tentative changelog:

### Features

- [engine] Resolve provider in the engine before passing it to
transforms
  [#16409](#16409)

- [sdk/go] Suggest valid attributes with similar names to unrecognised
ones when validating project definitions
  [#16097](#16097)

- [cli/new] Allow passing runtime options as args in pulumi new
  [#16346](#16346)

- [cli/new] Query language runtime for options during “pulumi new”
  [#16346](#16346)

- [cli/new] Add packagemanager prompt to pulumi new for nodejs
  [#16417](#16417)

- [sdk/nodejs] Detect pnpm workspaces when running pulumi install
  [#15525](#15525)

- [sdk/nodejs] Add options to Workspace::removeStack()
  [#16333](#16333)

- [sdk/python] Automatically convert requirements.txt to pyproject.toml
when using Poetry
  [#16346](#16346)

- [sdkgen/python] Generate TypedDict types for inputs
  [#15957](#15957)


### Bug Fixes

- [engine] Fix a panic when ignoring wildcard values with arrays of
different length
  [#16406](#16406)

- [cli/engine] Fix --continue-on-error running indefinitely when a
resource fails to be created or updated
  [#16371](#16371)

- [sdk/nodejs] Avoid an unhandled error when `dependencies` is missing
from `package.json` during closure serialization
  [#16433](#16433)

- [cli/plugin] Fix plugin install command when plugin type is tool
  [#16407](#16407)

- [sdk/python] Fix Python SDK docs by escaping the trailing underscore
in a docstring
  [#14866](#14866)

- [sdk/python] Don't incorrectly emit deprecation warnings for
non-deprecated properties
  [#16400](#16400)

- [sdk/python] Handle extra CLI arguments passed policy packs plugins
  [#16402](#16402)

- [sdk/python] Add VIRTUAL_ENV environment variable when running inside
a virtual environment
  [#16425](#16425)

- [sdk/python] Don't lift dunder attributes on `Output`s


### Miscellaneous

- [sdk/{go,nodejs,python}] Add register resource transform alias for
register stack transform

- [cli/new] Instruct the user to use 'pulumi install' when using
--generate-only
  [#16411](#16411)
@pulumi-bot
Copy link
Contributor

This PR has been shipped in release v3.121.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/cli UX of using the CLI (args, output, logs) area/plugins Plugin acquisition and resolution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants