[ 
https://issues.apache.org/jira/browse/AVRO-1537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14250051#comment-14250051
 ] 

Tom White commented on AVRO-1537:
---------------------------------

Thanks for the suggestions Niels. Here are my comments:
* I don't think ONBUILD adds anything. As far as I can tell its for dependent 
dockerfiles, which isn't a situation we have here.
* The name 'safetest' isn't very suggestive. Also, running in docker is 
orthogonal to build.sh, so all of its arguments are appropriate, not just test. 
Maybe we need a wrapper script. OTOH, we could delay adding this until we've 
got more experience of what's useful, since you can just use {{docker run ...}}.
* Doing a {{docker build}} every time you run docker isn't necessary. Also, I 
noticed that it can be slow on my machine since apt-get does an update (not 
sure why this isn't cached by docker).
* Won't the cryptic docker build name be the same everywhere since you are 
calculating the MD5 of Dockerfile, which doesn't change?
* Running {{docker}} from the top-level and using {{-v 
$\{SOURCEDIR\}:/root/avro}} is a good idea. I can change the patch to do that.

> Make it easier to set up a multi-language build environment
> -----------------------------------------------------------
>
>                 Key: AVRO-1537
>                 URL: https://issues.apache.org/jira/browse/AVRO-1537
>             Project: Avro
>          Issue Type: Improvement
>            Reporter: Martin Kleppmann
>         Attachments: AVRO-1537.patch, AVRO-1537.patch
>
>
> It's currently quite tedious to set up an environment in which the Avro test 
> suites for all supported languages can be run, and in which release 
> candidates can be built. This is especially so when we need to test against 
> several different versions of a programming language or VM (e.g. 
> JDK6/JDK7/JDK8, Ruby 1.8.7/1.9.3/2.0/2.1).
> Our shared Hudson server isn't an ideal solution, because it only runs tests 
> on changes that are already committed, and maintenance of the server can't 
> easily be shared across the community.
> I think a Docker image might be a good solution, since it could be set up by 
> one person, shared with all Avro developers, and maintained by the community 
> on an ongoing basis. But other VM solutions (Vagrant, for example?) might 
> work just as well. Suggestions welcome.
> Related resources:
> * Using AWS (setting up an EC2 instance for Avro build and release): 
> https://cwiki.apache.org/confluence/display/AVRO/How+To+Release#HowToRelease-UsingAWSforAvroBuildandRelease
> * Testing multiple versions of Ruby in CI: AVRO-1515



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to