pulumi/sdk/go
Steve Zesch a3738fb251
local workspace project validation should include error message (#15279)
# Description

If project settings are not valid `contract.Requiref(proj.Validate() ==
nil, "proj", "Validate()")` just returns `Validate()` which makes it
difficult to debug why the call to `proj.Validate()` failed. This change
captures the error returned by `proj.Validate()` and includes that as
part of the message.

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] 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

---------

Co-authored-by: Fraser Waters <frassle@gmail.com>
2024-01-28 15:29:14 +00:00
..
auto [sdk/go] Use `filepath.Join` rather than `path.Join` (#15273) 2024-01-27 01:25:23 +00:00
common local workspace project validation should include error message (#15279) 2024-01-28 15:29:14 +00:00
internal turn on the golangci-lint exhaustive linter (#15028) 2024-01-17 16:50:41 +00:00
pulumi Move assets and archives to their own package (#15157) 2024-01-25 20:39:31 +00:00
pulumi-language-go upgrade gocloud.dev take 2 (#15202) 2024-01-26 13:14:17 +00:00
pulumix Use EqualError/ErrorContains instead of Error (#14737) 2023-12-08 06:40:14 +00:00
Makefile make(sdk/go): Use -C instead of cd for 'go' commands (#13853) 2023-08-31 21:12:03 +00: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.