leveldb-erlang / h2leveldb

Erlang bindings to HyperLevelDB embedded key-value store
MIT License
7 stars 2 forks source link

Switch CI to Wercker #10

Closed tatsuya6502 closed 8 years ago

tatsuya6502 commented 8 years ago

On Travis CI, rebar test sometimes fails because Erlang VM gets core-dumped.

https://travis-ci.org/leveldb-erlang/h2leveldb/builds/99418512

==> h2leveldb (eunit)
make: *** [eunit] Segmentation fault (core dumped)
The command "make clean deps compile xref test" exited with 2.
Done. Your build exited with 1.

However, I cannot debug this because I cannot reproduce it in my local env. Unlike CircleCI, Travis does not provide a way to ssh to the CI container so it is impossible to debug and fix.

I think it is time to move to other CI services. Wercker seems the best for this project as it allows to run tests inside a Docker container. I would like to run tests on CentOS 7 and 6 based Docker containers rather than Ubuntu based CI containers. (Travis CI and CircleCI only provides Ubuntu based CI containers)

tatsuya6502 commented 8 years ago

I am trying Wercker builds. CentOS 6 build is failing and it looks like this is due to an old, well-known issue with overlayfs that I filed 1.5 years ago.

https://app.wercker.com/#tatsuya6502/h2leveldb/build-centos6/575cc9070c8038fc6f0a6c21?step=575cc90e362b5400016d66ce

Rpmdb checksum is invalid: dCDPT(pkg checksums): fipscheck.x86_64 0:1.2.0-7.el6 - u

Luckily, somebody has developed a plugin to workaround this issue and it just landed to the latest official CentOS 6 image.

I will rebuild my base Erlang Docker image for CentOS 6 and try again.

tatsuya6502 commented 8 years ago

I built the new Eralng/OTP on CentOS 6 image on Quay.io and now all builds are passing.

I am not sure if the Rpmdb checksum is invalid problem was solved by the Docker plugin. Perhaps it was solved because the new image is having the latest yum DB. If the problem happens again, I will try not to run yum install on Wercker anymore. Instead, I will build the base image on Quay.io with all dependencies installed.

Here are the latest success runs:

tatsuya6502 commented 8 years ago

Merged PR https://github.com/leveldb-erlang/h2leveldb/issues/12 into develop branch.

I am quite happy; no more silly core-dump on Ubuntu (on Travis CI). Now Wercker is testing h2leveldb on six combinations of Linux distributions x Erlang/OTP releases.