Cardano-wallet: Add polish to Hackage `bech32` library.

Created on 7 Feb 2020  路  14Comments  路  Source: input-output-hk/cardano-wallet

Context

The cardano-wallet repository is currently using its own copy of the bech32 library. We'd like to switch to the Hackage version, which is based on the following repository:

https://github.com/input-output-hk/bech32

Decision

As part of this process, we should make sure that our published library meets standards typically expected by the Haskell community.

Acceptance Criteria

  • [x] The package _must_ be buildable by both cabal and stack.
  • [x] The package _must_ be properly licensed.
  • [x] The package _must_ have appropriate copyright messages.
  • [x] The package Haddock documentation _must_ build correctly.
  • [x] The package _must_ have a working continuous integration system.
  • [x] The package documentation _must_ include basic usage instructions.
  • [x] The package documentation _should_ include a basic guide for contributors.

Development

QA

Most helpful comment

Oh, cool, then perhaps a badge pointing to last travis build on the README would be handy? Maybe also a last release badge? (Similar to what we have on cardano-wallet)

Good idea! I'll add it. :)

All 14 comments

Hi @piotr-iohk!
Are you happy with me closing this issue? I believe that all the items are complete.

@jonathanknowles lgtm.

One question/remark: there are some tests there in the new repo -> https://github.com/input-output-hk/bech32/blob/master/test/Codec/Binary/Bech32Spec.hs, but I suppose they are only executed "manually" ? Maybe it would be worth to set up small CI (Travis?) to have those tests executed?

@jonathanknowles lgtm.

One question/remark: there are some tests there in the new repo -> https://github.com/input-output-hk/bech32/blob/master/test/Codec/Binary/Bech32Spec.hs, but I suppose they are only executed "manually" ? Maybe it would be worth to set up small CI (Travis?) to have those tests executed?

Good question!

The repository does have Travis set up on it: https://github.com/input-output-hk/bech32/blob/master/.travis.yml

Here's an example build that passed: https://travis-ci.org/input-output-hk/bech32/jobs/649822654

Oh, cool, then perhaps a badge pointing to last travis build on the README would be handy? Maybe also a last release badge? (Similar to what we have on cardano-wallet)

Oh, cool, then perhaps a badge pointing to last travis build on the README would be handy? Maybe also a last release badge? (Similar to what we have on cardano-wallet)

Good idea! I'll add it. :)

@jonathanknowles How familiar are you with https://coveralls.io ?

@jonathanknowles How familiar are you with https://coveralls.io ?

I've occasionally looked at the reports relating to cardano-wallet. Are you proposing that we add coveralls support to the bech32 repo?

@piotr-iohk Latest build status of master now reflected on home page:

bech32-build-passing

https://github.com/input-output-hk/bech32
https://travis-ci.org/input-output-hk/bech32

Are you proposing that we add coveralls support to the bech32 repo?

Precisely :no_mouth:
I know it is _possible_ through cabal directly, but I've always computed coverage via stack builds. So maybe it's too much efforts here (as I see that the .travis.yml makes use of cabal builds).

--> https://github.com/lunaticare/codecov-haskell

This seems fairly "recent" though. It's for https://codecov.io (which IMO is even better than coveralls, in terms of UI and available information, see for instance https://codecov.io/gh/elm-toulouse/cbor). Maybe it's worth giving it a shot.

Removed code coverage support from the list of items, in the interests of wrapping up this story.

We can add it to a future story, as and when we need to.

EDIT: Added here: https://jira.iohk.io/projects/ADP/issues/ADP-181

Hi @piotr-iohk

I believe this task is now finished, as we moved the code coverage work to a new story.

Is there anything left outstanding from your point of view?

Closing, after discussion with @piotr-iohk.

Was this page helpful?
0 / 5 - 0 ratings