pulumi/sdk/go
Pat Gavlin d3e49ecb65
[cli, testing, github] Gather code coverage data in CI. (#8260)
These changes add support for gathering code coverage data during tests.

For tests that do not involve the Pulumi CLI, this is straightforward: all of
the ecosystems we target already support gathering coverage data, and we follow
the rules accordingly. Support for each language is broken out into its own
commit.

For tests that do involve the Pulumi CLI, the picture is a bit more complicated.
Go does not make it trivial to perform a coverage-instrumented build (go build
does not have a -cover flag, for example). In lieu of official support, we abuse
go test -c and TestMain to produce a build of the CLI that supports collecting
and reporting coverage data.
2021-11-30 17:24:01 -08:00
..
auto .NET & python SDKs parity for bad pulumi versions (#8297) 2021-10-27 20:54:23 -07:00
common [cli, testing, github] Gather code coverage data in CI. (#8260) 2021-11-30 17:24:01 -08:00
pulumi Add tests that return failures from Call (#8424) 2021-11-16 08:58:46 -08:00
pulumi-language-go Add trace proxying to fix sub-process trace collection into files (#7248) 2021-06-10 22:57:18 -04:00
Makefile [automation-api] Exclude tests from test_fast. (#7986) 2021-09-16 17:33:33 -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.