github.com/jdolitsky/cnab-go@v0.7.1-beta1/README.md (about) 1 # cnab-go 2 3 [![Build Status](https://dev.azure.com/deislabs/cnab-go/_apis/build/status/cnab-go?branchName=master)](https://dev.azure.com/deislabs/cnab-go/_build/latest?definitionId=14&branchName=master) ![Azure Pipelines coverage](https://img.shields.io/azure-devops/coverage/deislabs/cnab-go/14?logo=Azure%20Pipelines&style=flat) 4 5 cnab-go is a library for building [CNAB](https://github.com/deislabs/cnab-spec) clients. It provides the building blocks relevant to the CNAB specification so that you may build tooling without needing to implement all aspects of the CNAB specification. 6 7 cnab-go is currently being used by [Docker App](https://github.com/docker/app), [Duffle](https://github.com/deislabs/duffle), and [Porter](https://github.com/deislabs/porter). If you'd like to see your CNAB project listed here, please submit a PR. 8 9 ### Community 10 11 cnab-go is [maintained](GOVERNANCE.md) by the CNAB community. We sometimes discuss cnab-go issues during the [bi-weekly CNAB community meeting](https://hackmd.io/s/SyGcBcwQ4), but we encourage open communication via our [issue](https://github.com/deislabs/cnab-go/issues) queue and via [PRs](https://github.com/deislabs/cnab-go/pulls). If you are interested in contributing to cnab-go, please refer to our [contributing](CONTRIBUTING.md) guidelines. 12 13 ### Development 14 15 #### Getting the code 16 17 Cloning this repository and change directory to it: 18 ```bash 19 $ go get -d github.com/deislabs/cnab-go/... 20 $ cd $(go env GOPATH)/src/github.com/deislabs/cnab-go 21 ``` 22 23 #### Prerequisites 24 25 You need: 26 27 * make 28 * Go 29 30 #### Get dependencies 31 32 Retrieve all needed packages to start developing. 33 This will download the binaries for the linter, dep and go imports in the end it will 34 run `dep ensure` to download all the go package dependencies 35 36 ```bash 37 $ make bootstrap 38 ``` 39 40 #### Building, testing and linting 41 42 Compile all the code: 43 44 ```bash 45 $ make build 46 ``` 47 48 Run unit tests: 49 50 ```bash 51 $ make test 52 ``` 53 54 Run integration tests: 55 56 Note: The integration tests use a local docker daemon to create containers. Please ensure you have one configured before running the tests. 57 58 ```bash 59 $ make integration-test 60 ``` 61 62 This will only run the linter to ensure the code meet the standard. 63 *It does not format the code* 64 65 ```bash 66 $ make lint 67 ```