github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/docs/developers.md (about)

     1  # Developers Guide
     2  
     3  ## Prerequisites
     4  
     5  - [Go](https://golang.org/doc/install) (Version >= 1.11)
     6  - [golint](https://github.com/golang/lint)
     7  - [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports)
     8  - [protoc](http://google.github.io/proto-lens/installing-protoc.html) (libprotoc 3.7.1)
     9  
    10  Please also refer to our [contributing guidelines](https://github.com/hyperledger/burrow/blob/main/.github/CONTRIBUTING.md).
    11  
    12  ## Building
    13  
    14  Statically build the burrow binary with `make build` (output in `./bin`) or install to `${GOPATH}/bin` with `make install`.
    15  
    16  ## Testing
    17  
    18  Before submitting a PR, after making any changes, run `make test` to ensure that the unit tests pass and `make test_integration` 
    19  for integration tests. If there are any formatting problems, try to run `make fmt` or `make fix`.
    20  
    21  ## gRPC and Protobuf
    22  
    23  Install protoc and run `make protobuf_deps`. If you make any changes to the protobuf specs, run `make protobuf` to re-compile.
    24  
    25  ## Releasing
    26  
    27  * First of all make sure everyone is happy with doing a release now. 
    28  * Update project/history.go with the latest releases notes and version. Run `make CHANGELOG.md NOTES.md` and make sure this is merged to main.
    29  * On the main branch, run `make ready_for_pull_request`. Check for any modified files.
    30  * Once main is update to date, switch to main locally run `make tag_release`. This will push the tag which kicks of the release build.
    31  * Optionally send out email on hyperledger burrow mailinglist. Agreements network email should be sent out automatically.
    32  
    33  ## Proposals
    34  
    35  ### Architecture Decision Records (ADRs)
    36  
    37  ADRs describe standards for the Hyperledger Burrow platform, including core protocol specifications, and client APIs.
    38  
    39  ### Contributing
    40  
    41   1. Review [ADR-1](ADRs/adr-1.md).
    42   2. Fork the repository by clicking "Fork" in the top right.
    43   3. Add your ADR to your fork of the repository. There is a [template ADR here](ADRs/adr-X_template.md).
    44   4. Submit a Pull Request to Burrow's [ADRs repository](./ADRs/).
    45  
    46  If your ADR requires images, the image files should be included in a subdirectory of the `assets` folder for that ADR as follow: `assets/ADR-X` (for ADR **X**). When linking to an image in the ADR, use relative links such as `../assets/adr-X/image.png`.