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

Set CI up #15

Open
Dapid opened this issue Aug 28, 2014 · 5 comments
Open

Set CI up #15

Dapid opened this issue Aug 28, 2014 · 5 comments

Comments

@Dapid
Copy link
Contributor

Dapid commented Aug 28, 2014

It is always nice to have a CI system. As the building requires some tuning (finding libraries) it may be a bit tricksy, but I think it is definitely worth the effort.

I will see what I can manage in the following days.

@josyoun
Copy link
Member

josyoun commented Sep 11, 2014

+1. What kind of CI system did you have in mind? I've looked some at this, but the situation appeared tricky to me. Specifically, there are nice free services like Travis CI, but I couldn't figure out a way to make this work with all of the languages that Optizelle needs to test. For a full install, we need a C++, Fortran, Python, and MATLAB/Octave compilers. In the most base case, we still need both C++ and Fortran compilers.

As such, I'd been looking at using virtualization and the cloud to get things setup. I don't mind paying for cloud use for a real CI system. Mostly, it was just that I didn't have the time to figure out how to get the cloud images setup properly where we could start an instance, run the tests, return the results, and shut down. I suppose the real trick was that I don't really want to have to pay for several servers running 24 hours a day. I'd rather a system that can be spun up and down dynamically as check-ins arrive.

Anyway, I know this is all possible. If anyone has ideas or experience doing this, please let me know. Otherwise, it's on my back log. I do plan on getting to it eventually, but it looks like some of the other issues are more pressing.

@Dapid
Copy link
Contributor Author

Dapid commented Sep 11, 2014

Travis definitely supports C++ and Fortran, but it has GCC 4.6, that doesn't have full support of C++11, so I don't know if the features are available.

Another alternative I have just found is GNU's Hydra: http://hydra.nixos.org/project/gnu I would expect them to have a modern GCC and Octave.

A simpler option would be just running the tests as a cron job nightly. In my lab we have a few old machines laying around, and I wouldn't mind setting them up.

Regarding automatisation (and maybe I am asking a stupid question here), Optizelle uses a GUI, but I don't know how to bypass it as a script.

@josyoun
Copy link
Member

josyoun commented Sep 11, 2014

Wait. Which GUI are you talking about? Personally, I don't have one. Are you talking about the CMake build? If so, this can all be done with a single cmake command and a bunch of -D flags.

I'll have a look at Hydra as well as that may be a good option. For awhile, I was looking at using CDart, but it doesn't look like anyone is using it and Kitware keeps messing with their site, which I'm not happy about. If you want to setup a cron job, that'd be great. Mostly, we just need to figure out a way to get the results out and displayed in a place where everyone can see them.

@Dapid
Copy link
Contributor Author

Dapid commented Sep 11, 2014

By GUI I meant ccmake. I guess the simplest option is to grab the configuration scripts from somewhere and execute them; defintely viable for the cron option.

@josyoun
Copy link
Member

josyoun commented Sep 11, 2014

I added issue #18 in order document how to do this. It's pretty straight forward, but certain flags need to be specified before others.

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

2 participants