Skip to content
This repository has been archived by the owner on Feb 14, 2023. It is now read-only.
/ go-core Public archive

Stratumn's core utilities to create decentralized applications and networks

License

Notifications You must be signed in to change notification settings

stratumn/go-core

Repository files navigation

Stratumn Core Utilities

GoDoc Build Status codecov Go Report Card Join the chat at https://gitter.im/stratumn/sdk

Stratumn's open-source utilities to create decentralized applications and networks.

To get started, visit our developer portal.


Run tests

You need Docker to be able to run the tests. The images couchstore:latest, rethink:latest and postgres:latest will be run automatically (and pulled from the docker hub if you don't already have them locally).

Install dependencies:

go get -u github.com/golang/dep/cmd/dep
dep ensure

To manage dependencies, see dep.

Run all tests:

make test

See test coverage in the browser:

make coverhtml

Run the linter:

go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
make lint

Build tagged docker images:

make docker_images

Releasing a new version

If you want to release a new version of the library, here is what you need to do. You need to install:

You'll need to add your PGP public key to the Stratumn CLI in the pubkey.go file.

Then at the root of the repo:

  • Update the CHANGELOG file
  • Create a branch named vA.B.x (for example: 0.1.x) from master
  • On this new branch, create a VERSION file that contains the version (for example: 0.1.0)
  • Set the pre-release flag in PRERELEASE if needed
  • Run make release (this will create the tag, build the binaries and the docker images, push the docker images and publish a release on Github)

License

Copyright 2017 Stratumn SAS. All rights reserved.

Unless otherwise noted, the source files are distributed under the Apache License 2.0 found in the LICENSE file.

Third party dependencies included in the vendor directory are distributed under their respective licenses.