Skip to content

Preinstalled Pulumi in /usr/local/bin breaks any other version of Pulumi #13053

@misha-drozd

Description

@misha-drozd

Description

Ubuntu images come with a Pulumi version preinstalled in /usr/local/bin.

Trying to use any other version of Pulumi breaks due to the way Pulumi looks for supporting binaries like pulumi-language-go: it searches $PATH first, finds older, incompatible version of these binaries, and fails.

The only way to work around it is to remove /usr/local/bin from $PATH, so that Pulumi does not find this outdated supporting library.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

Image: ubuntu-24.04
Version: 20250907.24.1

Is it regression?

No

Expected behavior

  • A job downloads a specific version of Pulumi, and runs it.
  • Pulumi finds supporting binaries, such as pulumi-language-go next to the pulumi binary, and run them successfully.

Actual behavior

  • A job downloads a specific version of Pulumi, and runs it.
  • Pulumi looks for supporting binaries (e.g. pulumi-language-go). First it looks in $PATH, finds there an old incompatible version of pulumi-language-go, runs it, detect version mismatch and exits.

Repro steps

  • Download fresh Pulumi version
  • Get a Go Pulumi example
  • Run Go Pulumi example

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions