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

WIP: Docker container, Continuous Integration #42

Merged
merged 9 commits into from
Jan 29, 2019

Conversation

MaxGaukler
Copy link
Contributor

First of all, thanks for providing this great tool!

I tried to set up a reproducible build and test environment because the REVM is rather old and I couldn't find out how to build a new one without lots of manual work and "reverse engineering" the old REVM.

The result is a Docker container which is also usable for travis-ci.org, a web service which automatically checks if all tests pass in your code. (Example: https://travis-ci.org/MaxGaukler/hyst/branches ) Docker has the benefit that all containers are volatile and therefore it's always reproducible how they were built. The main downsides are that you can't use it for GUI (except if you use some strange hacks), and you have to explicitly specify "shared folders" like in a VM. However, the Dockerfile is also a good and automatically tested (!) documentation on how to build the tool manually.

Some bugs showed up while developing this, I will report these separately.

This pull request is not supposed to be ready for merging, but rather a first draft as request for comments. For example, I don't like including the SpaceEx binary in the Git repository, but it seems there is no URL suitable for automatic downloads.

At least on Ubuntu 18.04 'ant build' fails if source files contain UTF8 characters.
Replace some 'long minus' signs (–) with normal dashes (-) to fix that.
If hypy was called for a tool which is not installed, it reported 'Error (unsupported dynamics)'.
@stanleybak
Copy link
Contributor

Great, thank you for doing this; I'll look through it. Yes I'm not sure how to solve the tool issue, short of not including those tools in the tests (but then thing might mean things break as tool syntax changes, such as what happened for Flow*).

@MaxGaukler
Copy link
Contributor Author

I sent an email to the SpaceEx authors, I hope they can help.

If not, one workaround would be providing the tool binaries in a separate repository (or on some web server), at least for the tools where the license allows that. Then we don't pollute the main repository, but still have a download link. For software with restrictive licensing such as Matlab or C2E2 there will probably never be a (legal) way to do it.

@stanleybak stanleybak merged commit 7617ba2 into verivital:master Jan 29, 2019
@MaxGaukler
Copy link
Contributor Author

Thanks for merging. You should now be able to enable Travis CI for the repository, so that every pull request and commit receives a little green checkmark to show that the unittests succeeded (or a big warning if not).

According to their help, you (or maybe the repository owner) need to do this:

Go to Travis-ci.org and Sign up with GitHub.
Accept the Authorization of Travis CI. You’ll be redirected to GitHub.
Click the green Activate button, and select the repositories you want to use with Travis CI.
(probably on https://travis-ci.org/account/repositories )

@stanleybak
Copy link
Contributor

stanleybak commented Mar 1, 2019 via email

@ttj
Copy link
Contributor

ttj commented Mar 23, 2020

Ok, thanks, sorry I missed this as well, I think I have enabled it and think I've gotten it started running:

https://travis-ci.com/github/verivital/hyst/builds/154621891

@MaxGaukler MaxGaukler deleted the docker branch March 30, 2020 09:12
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

Successfully merging this pull request may close these issues.

3 participants