github.com/marianogappa/goreleaser@v0.26.2-0.20170715090149-96acd0a9fc46/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 are:
    11  
    12  * Build:
    13    * `make`
    14    * [Go 1.8+](http://golang.org/doc/install)
    15    * [fpm](https://fpm.readthedocs.io/en/latest/installing.html)
    16  
    17  Clone `goreleaser` from source into `$GOPATH`:
    18  
    19  ```sh
    20  $ mkdir -p $GOPATH/src/github.com/github.com/goreleaser
    21  $ cd $_
    22  $ git clone git@github.com:goreleaser/goreleaser.git
    23  $ cd goreleaser
    24  ```
    25  
    26  Install the build and lint dependencies:
    27  
    28  ``` sh
    29  $ make setup
    30  ```
    31  
    32  A good way of making sure everything is all right is running the test suite:
    33  
    34  ``` sh
    35  $ make test
    36  ```
    37  
    38  ## Test your change
    39  
    40  You can create a branch for your changes and try to build from the source as you go:
    41  
    42  ``` sh
    43  $ make build
    44  ```
    45  
    46  When you are satisfied with the changes, we suggest you run:
    47  
    48  ``` sh
    49  $ make ci
    50  ```
    51  
    52  Which runs all the linters and tests.
    53  
    54  ## Submit a pull request
    55  
    56  Push your branch to your `goreleaser` fork and open a pull request against the
    57  master branch.