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