Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add continuous integration to cardano-coin-selection library. #1379

Closed
15 tasks done
jonathanknowles opened this issue Feb 26, 2020 · 7 comments
Closed
15 tasks done

Add continuous integration to cardano-coin-selection library. #1379

jonathanknowles opened this issue Feb 26, 2020 · 7 comments
Assignees

Comments

@jonathanknowles
Copy link
Member

jonathanknowles commented Feb 26, 2020

Context

As part of the work to create a separate coin selection and fee balancing library, we'll need a way to automatically test new code that is introduced.

Decision

Add continuous integration support to the cardano-coin-selection library.

Acceptance Criteria

  • The cardano-coin-selection library must have CI support.
  • The CI system must detect and report:
    • compilation failures
    • test failures
    • lint failures (hlint)
    • style failures (stylish-haskell)
  • The CI system must run for every pull request.
  • The CI system must run for every merge into master.
  • The status of the latest master build should be visible on the home page.

Development

  • Add continuous integration support based on the script used for the bech32 library.
  • Add a badge to the home page showing the status of the latest build.

QA

Try to cause the CI system to fail, by pushing a branch with the following types of failure:

@jonathanknowles jonathanknowles changed the title Add continuous integration to cardano-coin-selection repository. Add continuous integration to cardano-coin-selection library. Feb 26, 2020
@paweljakubas
Copy link
Contributor

would be good to have it in such a form (eg., using repo name variables propagated throughout the code ) that it is very quick to reuse it in other repositories we are going to spawn

@jonathanknowles
Copy link
Member Author

@paweljakubas wrote:

would be good to have it in such a form (eg., using repo name variables propagated throughout the code ) that it is very quick to reuse it in other repositories we are going to spawn

Good point!

The CI code is fortunately very simple, for the moment. It doesn't even mention the library name. See:

https://github.com/input-output-hk/cardano-coin-selection/blob/master/.travis.yml

@jonathanknowles
Copy link
Member Author

jonathanknowles commented Mar 2, 2020

Hi @piotr-iohk!

I've just run a few tests on the CI system, just to check that it does fail as expected. According to my tests, it correctly rejects the following kinds of failure:

Would you be okay with me closing this issue?

@piotr-iohk
Copy link
Contributor

@jonathanknowles - OK for the CI :) One question though:

Add code coverage based on the script used for the bech32 library.

Is there a code coverage set up? can it the seen somewhere? (a badge for CC would be handy too)

@jonathanknowles
Copy link
Member Author

@jonathanknowles - OK for the CI :) One question though:

Add code coverage based on the script used for the bech32 library.

Is there a code coverage set up? can it the seen somewhere? (a badge for CC would be handy too)

There's a separate issue for that here: https://github.com/input-output-hk/cardano-wallet/issues/1390

@piotr-iohk
Copy link
Contributor

Ok, thx. The point Add code coverage based on the script used for the bech32 library. is part of the Developement section, hence my question. Closing then!

@jonathanknowles
Copy link
Member Author

Ok, thx. The point Add code coverage based on the script used for the bech32 library. is part of the Developement section, hence my question. Closing then!

Ah, that was a typo! I've corrected it to read:

Add continuous integration support based on the script used for the bech32 library.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants