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