1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-10 03:47:03 +02:00
goreleaser/CONTRIBUTING.md

60 lines
1.1 KiB
Markdown
Raw Normal View History

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
Prerequisites are:
* Build:
* `make`
2017-02-23 19:50:20 +02:00
* [Go 1.8+](http://golang.org/doc/install)
* [fpm](https://fpm.readthedocs.io/en/latest/installing.html)
2017-08-19 00:45:44 +02:00
* rpm / rpmbuild
2017-08-19 00:13:13 +02:00
* [snapcraft](http://snapcraft.io/)
2017-01-02 19:08:49 +02:00
2017-01-17 14:47:34 +02:00
Clone `goreleaser` from source into `$GOPATH`:
2017-01-02 19:08:49 +02:00
```sh
$ mkdir -p $GOPATH/src/github.com/github.com/goreleaser
2017-05-13 00:54:56 +02:00
$ cd $_
$ git clone git@github.com:goreleaser/goreleaser.git
$ cd goreleaser
2017-01-02 19:08:49 +02:00
```
Install the build and lint dependencies:
2017-08-19 00:13:13 +02:00
```console
2017-01-02 19:08:49 +02:00
$ make setup
```
A good way of making sure everything is all right is running the test suite:
2017-08-19 00:13:13 +02:00
```console
2017-01-02 19:08:49 +02:00
$ make test
```
## Test your change
You can create a branch for your changes and try to build from the source as you go:
2017-08-19 00:13:13 +02:00
```console
2017-04-21 21:20:34 +02:00
$ make build
2017-01-02 19:08:49 +02:00
```
When you are satisfied with the changes, we suggest you run:
2017-08-19 00:13:13 +02:00
```console
2017-01-02 19:08:49 +02:00
$ make ci
```
Which runs all the linters and tests.
## 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.