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.