mirror of https://github.com/pulumi/pulumi.git
cc7ab7e22b
We were building pulumi and hit an error in this function when running the makefile, but only in certain environments. I read the code, and it looks like there's a race condition here where the gofmt command finishes before the io.Copy starts, giving us this error: ⚠️ x86_64 | + make build ℹ️ x86_64 | BUILD: ℹ️ x86_64 | go generate ./pulumi/... ⚠️ x86_64 | panic: unexpected error running gofmt: read |0: file already closed The go async function is unnecessary here, and the Go exec docs explain that StderrPipe should not be used with Run: https://pkg.go.dev/os/exec#Cmd.StderrPipe CombinedOutput is a simpler way to accomplish the same thing, and fixes the race condition. Signed-off-by: Dan Lorenc <dlorenc@chainguard.dev> |
||
---|---|---|
.. | ||
auto | ||
common | ||
pulumi | ||
pulumi-language-go | ||
Makefile | ||
README.md |
README.md
Pulumi Golang SDK
This directory contains support for writing Pulumi programs in the Go language. There are two aspects to this:
pulumi/
contains the client language bindings Pulumi program's code directly against;pulumi-language-go/
contains the language host plugin that the Pulumi engine uses to orchestrate updates.
To author a Pulumi program in Go, simply say so in your Pulumi.yaml
name: <my-project>
runtime: go
and ensure you have pulumi-language-go
on your path (it is distributed in the Pulumi download automatically).
By default, the language plugin will use your project's name, <my-project>
, as the executable that it loads. This too
must be on your path for the language provider to load it when you run pulumi preview
or pulumi up
.