cnab-go is a library for building CNAB 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.
cnab-go is maintained by the CNAB community. We sometimes discuss cnab-go issues during the bi-weekly CNAB community meeting, but we encourage open communication via our issue queue and via PRs. If you are interested in contributing to cnab-go, please refer to our contributing guidelines.
Getting the code
Cloning this repository and change directory to it:
$ go get -d github.com/cnabio/cnab-go/... $ cd $(go env GOPATH)/src/github.com/cnabio/cnab-go
Retrieve all needed packages to start developing.
This will download the binaries for the linter, dep and go imports in the end it will
dep ensure to download all the go package dependencies
$ make bootstrap
Building, testing and linting
Compile all the code:
$ make build
Run unit tests:
$ make test
Run integration tests:
Note: The integration tests use a local docker daemon to create containers. Please ensure you have one configured before running the tests.
$ make integration-test
This will only run the linter to ensure the code meet the standard. It does not format the code
$ make lint