github.com/droot/goreleaser@v0.66.2-0.20180420030140-c2db5fb17157/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 ## Setup your machine 7 8 `goreleaser` is written in [Go](https://golang.org/). 9 10 Prerequisites: 11 12 * `make` 13 * [Go 1.10+](https://golang.org/doc/install) 14 * `rpmbuild` (`apt get install rpm`/`brew install rpm`) 15 * [snapcraft](https://snapcraft.io/) 16 * [Docker](https://www.docker.com/) 17 18 Clone `goreleaser` from source into `$GOPATH`: 19 20 ```sh 21 $ mkdir -p $GOPATH/src/github.com/goreleaser/goreleaser 22 $ cd $_ 23 $ git clone git@github.com:goreleaser/goreleaser.git 24 $ cd goreleaser 25 ``` 26 27 Install the build and lint dependencies: 28 29 ```console 30 $ make setup 31 ``` 32 33 A good way of making sure everything is all right is running the test suite: 34 35 ```console 36 $ make test 37 ``` 38 39 ## Test your change 40 41 You can create a branch for your changes and try to build from the source as you go: 42 43 ```console 44 $ make build 45 ``` 46 47 When you are satisfied with the changes, we suggest you run: 48 49 ```console 50 $ make ci 51 ``` 52 53 Which runs all the linters and tests. 54 55 ## Create a commit 56 57 Commit messages should be well formatted. 58 Start your commit message with the type. Choose one of the following: 59 `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `chore`, `revert`, `add`, `remove`, `move`, `bump`, `update`, `release` 60 61 After a colon, you should give the message a title, starting with uppercase and ending without a dot. 62 Keep the width of the text at 72 chars. 63 The title must be followed with a newline, then a more detailed description. 64 65 Please reference any GitHub issues on the last line of the commit message (e.g. `See #123`, `Closes #123`, `Fixes #123`). 66 67 An example: 68 69 ``` 70 docs: Add example for --release-notes flag 71 72 I added an example to the docs of the `--release-notes` flag to make 73 the usage more clear. The example is an realistic use case and might 74 help others to generate their own changelog. 75 76 See #284 77 ``` 78 79 ## Submit a pull request 80 81 Push your branch to your `goreleaser` fork and open a pull request against the 82 master branch. 83 84 ## Financial contributions 85 86 We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/goreleaser). 87 Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed. 88 89 ## Credits 90 91 ### Contributors 92 93 Thank you to all the people who have already contributed to goreleaser! 94 <a href="graphs/contributors"><img src="https://opencollective.com/goreleaser/contributors.svg?width=890" /></a> 95 96 ### Backers 97 98 Thank you to all our backers! [[Become a backer](https://opencollective.com/goreleaser#backer)] 99 100 <a href="https://opencollective.com/goreleaser#backers" target="_blank"><img src="https://opencollective.com/goreleaser/backers.svg?width=890"></a> 101 102 ### Sponsors 103 104 Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/goreleaser#sponsor)) 105 106 <a href="https://opencollective.com/goreleaser/sponsor/0/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/0/avatar.svg"></a> 107 <a href="https://opencollective.com/goreleaser/sponsor/1/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/1/avatar.svg"></a> 108 <a href="https://opencollective.com/goreleaser/sponsor/2/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/2/avatar.svg"></a> 109 <a href="https://opencollective.com/goreleaser/sponsor/3/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/3/avatar.svg"></a> 110 <a href="https://opencollective.com/goreleaser/sponsor/4/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/4/avatar.svg"></a> 111 <a href="https://opencollective.com/goreleaser/sponsor/5/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/5/avatar.svg"></a> 112 <a href="https://opencollective.com/goreleaser/sponsor/6/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/6/avatar.svg"></a> 113 <a href="https://opencollective.com/goreleaser/sponsor/7/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/7/avatar.svg"></a> 114 <a href="https://opencollective.com/goreleaser/sponsor/8/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/8/avatar.svg"></a> 115 <a href="https://opencollective.com/goreleaser/sponsor/9/website" target="_blank"><img src="https://opencollective.com/goreleaser/sponsor/9/avatar.svg"></a>