Skip to content

Latest commit

 

History

History
86 lines (55 loc) · 3.79 KB

CONTRIBUTING.md

File metadata and controls

86 lines (55 loc) · 3.79 KB

Contributing to Pulumi

First, thanks for contributing to Pulumi and helping make it better. We appreciate the help! This repository is one of many across the Pulumi ecosystem and we welcome contributions to them all.

Code of Conduct

Please make sure to read and observe our Contributor Code of Conduct.

Communications

You are welcome to join the Pulumi Community Slack for questions and a community of like-minded folks. We discuss features and file bugs on GitHub via Issues as well as Discussions. You can read about our public roadmap on the Pulumi blog.

Issues

Feel free to pick up any existing issue that looks interesting to you or fix a bug you stumble across while using Pulumi. No matter the size, we welcome all improvements.

Feature Work

For larger features, we'd appreciate it if you open a new issue before investing a lot of time so we can discuss the feature together. Please also be sure to browse current issues to make sure your issue is unique, to lighten the triage burden on our maintainers. Finally, please limit your pull requests to contain only one feature at a time. Separating feature work into individual pull requests helps speed up code review and reduces the barrier to merge.

Developing

Setting up your Pulumi development environment

You'll want to install the following on your machine:

Installing Pulumi dependencies on macOS

You can get all required dependencies with brew and npm

brew install go@1.21 golangci/tap/golangci-lint gofumpt pulumi/tap/pulumictl

Make build system

We use make as our build system, so you'll want to install that as well, if you don't have it already.

Building

pulumi-converter-terraform uses Go modules to manage dependencies. If you want to develop pulumi-converter-terraform itself, you'll need to have Go installed in order to build. Once this prerequisite is installed, run the following to build the pulumi-converter-terraform binary and install it into $GOPATH/bin:

$ make install

Go should automatically handle pulling the dependencies for you.

If $GOPATH/bin is not on your path, you may want to move the pulumi-converter-terraform binary from $GOPATH/bin into a directory that is on your path.

Submitting a Pull Request

For contributors we use the standard fork based workflow: Fork this repository, create a topic branch, and when ready, open a pull request from your fork.

Before you open a pull request, make sure all lint checks pass:

$ make lint

If you see formatting failures, fix them by running gofumpt on your code:

$ gofumpt -w path/to/file.go
# or
$ gofumpt -w path/to/dir

Getting Help

We're sure there are rough edges and we appreciate you helping out. If you want to talk with other folks in the Pulumi community (including members of the Pulumi team) come hang out in the #contribute channel on the Pulumi Community Slack.