Review our Code of Conduct.
Browse for existing issues. Otherwise, open a "new issue" in this repo.
Open a "Bug report" issue in this repo.
Open a "Feature request" issue in this repo.
Versioning for the kubernetes and docker projects don't work well with Go modules. The best way to update dependencies is to update specific packages to a specific version using go get <mod>@<tag>
.
It should always be safe to run go get -u=patch
to pickup patches.
When making changes to Wash's APIs, remember to update the inline swagger documentation. Instructions for regenerating the API docs are here.
Fork the repo, make changes, file a Pull Request.
Contributions to this project require sign-off consistent with the Developers Certificate of Origin. This can be as simple as using git commit -s
on each commit.
We try to follow common Go conventions as enforced by the compiler and several static analysis tools used in Travis CI.
File naming should follow camelCase. When grouping several files around a single concept, multiple names can be joined by hyphens.
For example, the Docker plugin has multiple files implementing components of a container. We name them
- container-log.go
- container-metadata.go
- container.go
Releases are done through the GitHub's Draft a new release. Assets are automatically built and a GitHub Action will open a PR against https://github.com/puppetlabs/homebrew-puppet to update to the new release.
Release announcements are:
- posted in Slack #cloudnative (the release is automatically posted to #wash by the GitHub App); ask a moderator to re-post into #announcements. Example announcement:
Wash x.y.z is now available. This release added ... Detailed release notes are available at https://github.com/puppetlabs/wash/releases/tag/x.y.z.
- Puppet internal release announcement process sends to puppet-announce@ and puppet-users@