Skip to content

cnabio/cnab-go

Folders and files

NameName
Last commit message
Last commit date
Feb 2, 2025
Nov 13, 2024
Nov 13, 2024
Nov 13, 2024
Feb 21, 2023
Nov 14, 2024
Feb 9, 2025
Nov 13, 2024
Mar 15, 2022
Jun 25, 2020
Feb 23, 2022
Jun 25, 2020
Mar 31, 2021
May 27, 2021
Feb 5, 2021
Dec 24, 2019
Jan 31, 2020
Feb 9, 2025
Oct 12, 2018
Feb 5, 2021
Feb 21, 2023
Feb 21, 2023
Nov 10, 2021
Jun 20, 2022
Mar 6, 2025
Mar 6, 2025
Feb 9, 2025
Mar 31, 2021

Repository files navigation

cnab-go

Build Status Azure Pipelines coverage

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.

Community

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.

Development

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

Prerequisites

You need:

  • make
  • Go

Get dependencies

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

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