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.