sops/CONTRIBUTING.md

2.0 KiB

Contributing to SOPS

Mozilla welcomes contributions from everyone. Here are a few guidelines and instructions if you're thinking of helping with the development of SOPS.

Getting started

  • Make sure you have Go 1.6 or greater installed. You can find information on how to install Go here
  • After following the Go installation guide, run go get go.mozilla.org/sops. This will automatically clone this repository.
  • Switch into sops's directory, which will be in $GOPATH/src/go.mozilla.org/sops.
  • Run the tests with make test. They should all pass.
  • Fork the project on GitHub.
  • Add your fork to git's remotes:
    • If you use SSH authentication: git remote add <your username> git@github.com:<your username>/sops.git.
    • Otherwise: git remote add <your username> https://github.com/<your username>/sops.git.
  • Make any changes you want to sops, commit them, and push them to your fork.
  • Create a pull request, and a contributor will come by and review your code. They may ask for some changes, and hopefully your contribution will be merged to the master branch!

Guidelines

  • Unless it's particularly hard, changes that fix a bug should have a regression test to make sure that the bug is not introduced again.
  • New features and changes to existing features should be documented, and, if possible, tested.

Regenerating mocks

If you encounter an error like kms/mocks/KMSAPI.go:1607: cannot use (*KMSAPI)(nil) (type *KMSAPI) as type kmsiface.KMSAPI in assignment: *KMSAPI does not implement kmsiface.KMSAPI (missing ListResourceTags method), you need to regenerate mocks, probably because the interface was changed by a vendoring update. There is a make command to do this for you. Simply run make mock, and the new mocks will be automatically generated.

Communication

If you need any help contributing to sops, several contributors are on the #go channel on Mozilla's IRC server.