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 currently being used by Docker App, Duffle, and Porter. If you'd like to see your CNAB project listed here, please submit a PR.
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.
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
You need:
- make
- 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
run dep ensure
to download all the go package dependencies
$ make bootstrap
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