github.com/sergiusens/goreleaser@v0.34.3-0.20171009111917-ae6f7c157c5c/CONTRIBUTING.md (about) 1 # Contributing 2 3 By participating to this project, you agree to abide our [code of 4 conduct](/CODE_OF_CONDUCT.md). 5 6 7 ## Setup your machine 8 9 `goreleaser` is written in [Go](https://golang.org/). 10 11 Prerequisites: 12 13 * `make` 14 * [Go 1.8+](https://golang.org/doc/install) 15 * [fpm](https://fpm.readthedocs.io/en/latest/installing.html) 16 * rpm / rpmbuild 17 * [snapcraft](https://snapcraft.io/) 18 * [Docker](https://www.docker.com/) 19 20 Clone `goreleaser` from source into `$GOPATH`: 21 22 ```sh 23 $ mkdir -p $GOPATH/src/github.com/goreleaser/goreleaser 24 $ cd $_ 25 $ git clone git@github.com:goreleaser/goreleaser.git 26 $ cd goreleaser 27 ``` 28 29 Install the build and lint dependencies: 30 31 ```console 32 $ make setup 33 ``` 34 35 A good way of making sure everything is all right is running the test suite: 36 37 ```console 38 $ make test 39 ``` 40 41 42 ## Test your change 43 44 You can create a branch for your changes and try to build from the source as you go: 45 46 ```console 47 $ make build 48 ``` 49 50 When you are satisfied with the changes, we suggest you run: 51 52 ```console 53 $ make ci 54 ``` 55 56 Which runs all the linters and tests. 57 58 59 ## Create a commit 60 61 Commit messages should be well formatted. 62 Start your commit message with the type. Choose one of the following: 63 `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore`, `revert`, `add`, `remove`, `move`, `bump`, `update`, `release` 64 65 After a colon, you should give the message a title, starting with uppercase and ending without a dot. 66 Keep the width of the text at 72 chars. 67 The title must be followed with a newline, then a more detailed description. 68 69 Please reference any GitHub issues on the last line of the commit message (e.g. `See #123`, `Closes #123`, `Fixes #123`). 70 71 An example: 72 73 ``` 74 docs: Add example for --release-notes flag 75 76 I added an example to the docs of the `--release-notes` flag to make 77 the usage more clear. The example is an realistic use case and might 78 help others to generate their own changelog. 79 80 See #284 81 ``` 82 83 84 ## Submit a pull request 85 86 Push your branch to your `goreleaser` fork and open a pull request against the 87 master branch.