I like this idea. I gave the branch a try and it was helpful in identifying an issue in my local build environment b/c I could treat the docker env as a pristine and known quantity.
In addition, I think this will make it easier for new contributors to get up and running quickly testing-wise. --Ted On Sat, Mar 19, 2016 at 1:25 PM, Marko Rodriguez <okramma...@gmail.com> wrote: > Hi Daniel, > > This is really neat. I'm not to hip to what Docker is all about so my > realization of whats going on is a bit shaky. However, I do like these > features: > > 1. I can continue to code, jump branches, build, etc. while an > integration test is going on. > 2. My test environment is no longer tied to my computer > environment (e.g. Hadoop/Spark running, etc. blah. Painful). > > As I said in another thread, if we can get Spark Server going in our > integration tests what would be huge for me. For instance, instead of > always just "local[4]", we could also have it do "spark://localhost:7077" > then there are lots of random nick nack bugs we will detect as local[4] and > SparkServer don't always act the same. Moreover, I will be more inclined to > clean up the <exclusion> insanity I have going on in giraph-/spark-gremlin > pom.xmls cause I don't have to rely on manual testing. > > Thanks, > Marko. > > http://markorodriguez.com > > On Mar 19, 2016, at 12:18 PM, Daniel Kuppitz <m...@gremlin.guru> wrote: > > >> > >> I would think that test building in different environments is a good > thing. > > > > > > Makes sense for CI and it's easy to add new base containers. It's a one > > line change: > > > > > https://github.com/apache/incubator-tinkerpop/blob/docker/docker/Dockerfile#L18 > > > > > > Cheers, > > Daniel > > > > > > On Sat, Mar 19, 2016 at 7:15 PM, Dylan Millikin < > dylan.milli...@gmail.com> > > wrote: > > > >> Hey, > >> > >> This is awesome! Great work. > >> I believe this could also be put to good use with CI. The one > reservation I > >> would have here is in regards to : > >> > >>> - same OS (ubuntu:trusty) for everybody; no matter if your local OS is > >>> Linux, OSX or Windows, the container will always run the tests on top > >> of > >>> Ubuntu (no more *"your scripts don't work on my Mac"*) > >> > >> I would think that test building in different environments is a good > thing. > >> At least until we cover different envs in the CI. > >> > >> But other than that this is really cool. And you get extra cookies for > >> Hadoop, that's awesome. > >> > >> Cheers, > >> Dylan. > >> > >> On Sat, Mar 19, 2016 at 1:57 PM, Daniel Kuppitz <m...@gremlin.guru> > wrote: > >> > >>> For the last 2 days I was working on some Docker containers that > >>> will/should make our (devs) daily work a lot easier. Let's start with > how > >>> it currently looks: > >>> > >>> $ docker/build.sh -h > >>> > >>> Usage: build.sh [OPTIONS] > >>> Build the current local TinkerPop project in a Docker container. > >>> > >>> Options are: > >>> > >>> -t, --tests run standard test suite > >>> -i, --integration-tests run integration tests > >>> -n, --neo4j include Neo4j > >>> -j, --java-docs build Java docs > >>> -d, --docs build user docs > >>> -h, --help show this message > >>> > >>> The options should make it clear what it's good for. But to name a few > >> more > >>> advantages, especially for those, who are not too familiar with Docker: > >>> > >>> - each build will be started in a clean environment (no old jar files > >>> that could mess up your test results) > >>> - you can continue to work on your code and don't have to worry about > >>> impacts on the tests that run inside the Docker container > >>> - same OS (ubuntu:trusty) for everybody; no matter if your local OS > is > >>> Linux, OSX or Windows, the container will always run the tests on top > >> of > >>> Ubuntu (no more *"your scripts don't work on my Mac"*) > >>> - you can start multiple builds in parallel > >>> - the build container will automatically install (and start if > needed) > >>> the correct Hadoop version (defined in pom.xml); in the future we > >> could > >>> do > >>> the same for Spark Server > >>> - after building the docs, it will start a simple web server and give > >>> you the URL to view it (real http://, no file:/// crap) > >>> > >>> There's probably more, but I think that's impressive enough. The only > >>> disadvantage is, that since each build starts in a clean environment, > it > >>> will always have to download all maven dependencies. However, I think > all > >>> the advantage compensate that little overhead. > >>> > >>> These changes are currently in branch docker/ > >>> <https://github.com/apache/incubator-tinkerpop/tree/docker> and could > be > >>> merged into master/ and tp31/ at any time. But, since this is a DISCUSS > >>> thread, the question is: do people like it? > >>> > >>> Cheers, > >>> Daniel > >>> > >> > >