[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Avatica CI test failures

Quick update: I was able to use docker hub's hooks to set the release version of the docker images during build time as suggested by Vladimir. In addition, I was also able to automate the publishing of the Avatica HSQLDB image (CALCITE1948 [1]).

The trick to publishing the HSQLDB image is quite simple. Docker hub provides a post_push hook that is executed when a dockerfile is pushed to the registry. I simply use it to build the HSQLDB dockerfile and push it to a separate HSQLDB docker repository after the vanilla avatica image is built.

I was able to push to multiple different repositories using the post_push hook, so it should come in handy if we need to publish other flavors of the Avatica image in the future.

Note that due to docker hub's requirement of the Dockerfile location in the automated build configuration, I had to move the dockerfile for the HSQLDB image into the same folder as the vanilla avatica image, otherwise nothing will build.

See my commit here: https://github.com/F21/calcite-avatica/commit/c772c978df5d74e8b4faec85d3a03a0bea89887f

Docker hub repositories of the pushed test images are here:
- https://hub.docker.com/r/f21global/calcite-avatica-test/
- https://hub.docker.com/r/f21global/calcite-avatica-hypersql-test2/
- https://hub.docker.com/r/f21global/calcite-avatica-hypersql-test1/

If this solution is acceptable, I propose that we close CALCITE-1948 and open a new issue encompassing the publication of the HSQLDB image and publication of the avatica image using docker hub hooks. I will then finalize the commit and we should be able to get it into 1.13.0-rc0, which I plan to make available tomorrow. I will then ask infra to create the apache/calcite-avatica-hsqldb repository on docker hub as a non-automated build, so we should have a HSQLDB avatica image published once 1.13.0 is release.


[1] https://issues.apache.org/jira/browse/CALCITE-1948

On 22/11/2018 5:41 am, Vladimir Sitnikov wrote:
I'm not sure what combination of plugins would be best to do this
Josh, you might have missed, yet there's an option to add DockerHub hook
files to the repository, and DockerHub will execute them at build.
Then no replacements would be required.

What do you think?