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

Implement CI/CD tools across moja - where practical #80

Open
leitchy opened this issue Aug 3, 2020 · 5 comments
Open

Implement CI/CD tools across moja - where practical #80

leitchy opened this issue Aug 3, 2020 · 5 comments
Assignees
Labels
P0 High priority issue

Comments

@leitchy
Copy link

leitchy commented Aug 3, 2020

Comlete a proof of concept for CI/CD tools in both FLINT.Example (cmake/C++) and FLINT.Data_Preprocessing (Python) repositories.

Steps proposed:

  1. Research/Find a free CI tool. Looking into norms for open source (if any).
  2. Needs to integrate with FLINT cmake tests, or suggest new method to run unit/integration tests
  3. Test process on repos suggested about
  4. Plan implementation to other repos

CMake/FLINT:

FLINT has some unit tests built into each library. CMake can be set to run these on build and will have some integration with lots of CI/CD tools (i.e cmake: RUN_UNIT_TESTS_ON_BUILD)

Python:

Not sure what is available to integrate unit tests into CI/CD. Will need to be investigated.

@Patamap
Copy link
Contributor

Patamap commented Aug 3, 2020

@mfellows @malfrancis @kaskou @HarrisLawYF @gmajan

  1. Research/Find a free CI tool. Looking into norms for open source (if any).
    There are many different CI platforms out there. I did some research on different platforms (circleci, -travis-ci, jenkins
    and thought TravisCI was the best fit for our use case. CI is valuable and helpful for an open-source project because it prevents mistakes from landing into the code, both by active and new contributors. Github also has handy integration with various CI platforms. That makes it easy to get quick feedback on PRs and give feedback when things are not right. Travis also works well with Docker, which is using for FLINT. TravisCI is no cost for open source. More info for TravisCI

How to set Travis-Ci up? Refer to https://docs.travis-ci.com/user/tutorial/

@Patamap Patamap added Cat = Feedback P0 High priority issue labels Aug 3, 2020
@Patamap Patamap added this to the Technical Onboarding 2020 milestone Aug 3, 2020
@Patamap Patamap pinned this issue Aug 3, 2020
@Ixw123
Copy link

Ixw123 commented Aug 12, 2020

Python unit testing:

So im fairly new to this whole thing but i have been looking into testing beds and frameworks in python and i can try to see what might be applicable, i will look around a bit and see. It would help however to know like what sort of tests need to be made as well as like how we would like to write tests for it. However i have never done this myself so if i wish to take it on i could try to play around with it and come up with a proof of concept for a testing framework for it.

Though i would also need to know what is meant by CI/CD i will look into the FAQ though and see if i can get a better understanding of what might be useful for the testing bed. EDIT okay nvm lol CI/CD is simple just terminology i didnt know ill look around

@leitchy
Copy link
Author

leitchy commented Sep 22, 2020

Lets jump in with TravisCI - unless anybody has other thoughts? @malfrancis @mfellows @kaskou @HarrisLawYF ?

@malfrancis
Copy link

TravisCI would be good i think

@kaskou
Copy link

kaskou commented Sep 22, 2020

TravisCI would be good, it offers free plan for open source

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

No branches or pull requests

9 participants