[
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)