2017-01-02 19:08:49 +02:00
# Contributing
By participating to this project, you agree to abide our [code of
conduct](/CODE_OF_CONDUCT.md).
## Setup your machine
2017-01-17 14:47:34 +02:00
`goreleaser` is written in [Go ](https://golang.org/ ).
2017-01-02 19:08:49 +02:00
2017-10-02 12:35:20 +02:00
Prerequisites:
2018-05-28 15:49:38 +02:00
- `make`
2021-08-25 01:49:11 +02:00
- [Go 1.17+ ](https://golang.org/doc/install )
2018-05-28 15:49:38 +02:00
- [snapcraft ](https://snapcraft.io/ )
- [Docker ](https://www.docker.com/ )
2018-10-31 04:23:47 +02:00
- `gpg` (probably already installed on your system)
2017-01-02 19:08:49 +02:00
2018-10-31 04:23:47 +02:00
Clone `goreleaser` anywhere:
2017-01-02 19:08:49 +02:00
```sh
2020-08-14 23:13:02 +02:00
git clone git@github.com:goreleaser/goreleaser.git
2017-01-02 19:08:49 +02:00
```
2021-03-01 19:45:06 +02:00
`cd` into the directory and install the dependencies:
2017-01-02 19:08:49 +02:00
2019-03-25 01:10:30 +02:00
```sh
2020-08-14 23:13:02 +02:00
make setup
2017-01-02 19:08:49 +02:00
```
A good way of making sure everything is all right is running the test suite:
2019-03-25 01:10:30 +02:00
```sh
2020-08-14 23:13:02 +02:00
make test
2017-01-02 19:08:49 +02:00
```
## Test your change
You can create a branch for your changes and try to build from the source as you go:
2019-03-25 01:10:30 +02:00
```sh
2020-08-14 23:13:02 +02:00
make build
2017-01-02 19:08:49 +02:00
```
When you are satisfied with the changes, we suggest you run:
2019-03-25 01:10:30 +02:00
```sh
2020-08-14 23:13:02 +02:00
make ci
2017-01-02 19:08:49 +02:00
```
2017-10-01 20:15:06 +02:00
## Create a commit
2019-06-06 06:35:50 +02:00
Commit messages should be well formatted, and to make that "standardized", we
are using Conventional Commits.
2017-10-01 20:15:06 +02:00
2019-01-01 17:19:57 +02:00
You can follow the documentation on
[their website ](https://www.conventionalcommits.org ).
2017-10-01 20:15:06 +02:00
2017-01-02 19:08:49 +02:00
## Submit a pull request
2017-01-17 14:47:34 +02:00
Push your branch to your `goreleaser` fork and open a pull request against the
2017-01-02 19:08:49 +02:00
master branch.
2018-01-24 00:59:29 +02:00
## Financial contributions
We also welcome financial contributions in full transparency on our [open collective ](https://opencollective.com/goreleaser ).
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.
## Credits
### Contributors
2019-06-06 06:35:50 +02:00
Thank you to all the people who have already contributed to GoReleaser!
2018-01-24 00:59:29 +02:00
< a href = "graphs/contributors" > < img src = "https://opencollective.com/goreleaser/contributors.svg?width=890" / > < / a >
### Backers
Thank you to all our backers! [[Become a backer ](https://opencollective.com/goreleaser#backer )]
< a href = "https://opencollective.com/goreleaser#backers" target = "_blank" > < img src = "https://opencollective.com/goreleaser/backers.svg?width=890" > < / a >
### Sponsors
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 ))
< a href = "https://opencollective.com/goreleaser/sponsor/0/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/0/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/1/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/1/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/2/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/2/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/3/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/3/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/4/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/4/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/5/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/5/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/6/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/6/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/7/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/7/avatar.svg" > < / a >
< a href = "https://opencollective.com/goreleaser/sponsor/8/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/8/avatar.svg" > < / a >
2018-01-26 13:37:45 +02:00
< a href = "https://opencollective.com/goreleaser/sponsor/9/website" target = "_blank" > < img src = "https://opencollective.com/goreleaser/sponsor/9/avatar.svg" > < / a >