pulumi/sdk/go
bors[bot] 7ef1005b86
Merge #12424
12424: sdk/common: Add testing/diagtest package r=abhinav a=abhinav

Adds a testing/diagtest package similar to
the previously added iotest package (#12377)
which writes log messages to a testing.TB's log stream.

This makes tests less noisy and helps associate error messages
with the exact test cases they came from.

diagtest, unlike iotest, prefixes each message with stdout or stderr.
To reuse iotest.LogWriter for this, we add support to iotest.LogWriter
to specify an optional prefix string.

This also updates all tests that use cmdutil.Diag directly
(because these write to the test process' stdout/stderr)
and instead use diagtest.Sink to have them write
to the test's logger.


Co-authored-by: Abhinav Gupta <abhinav@pulumi.com>
2023-03-13 20:56:43 +00:00
..
auto [cli] Add an "open in browser" keybinding 2023-03-09 15:52:13 -08:00
common Merge #12424 2023-03-13 20:56:43 +00:00
pulumi Merge #12128 2023-03-13 05:45:53 +00:00
pulumi-language-go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
Makefile ci: Enable testing of language version sets 2022-09-21 09:48:38 -07:00
README.md `pulumi update` => `pulumi up` (#2702) 2019-05-06 14:00:18 -07:00

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.