EddyRivasLab / easel

Sequence analysis library used by Eddy/Rivas lab code
Other
46 stars 26 forks source link

Hopefully simpler ppc32 and macos test #31

Closed horta closed 5 years ago

horta commented 5 years ago

I have removed the docker dependency. The PPC32 VM is ran via qemu from travis-ci itself, therefore the lines

addons:
  apt:
    packages:
      - openbios-ppc
      - openssh-client
      - qemu
      - qemu-system-ppc
      - sshpass

in .travis.yml.

I have changed the ".org" to ".com" from your travis badge because ".org" has been deprecated (https://blog.travis-ci.com/2018-05-02-open-source-projects-on-travis-ci-com-with-github-apps). Both private and public open source project will be all using "travis-ci.com".

I realize that the tests are a bit complex. That is because of the initial VM setup (ci/travis.sh) and running the commands inside the VM via ssh (encapsulated via sandbox_run command). At least now there is no need of another repository for that: everything is implemented in the files

Finally, easel uses AVX2 features, if I understood correctly. The file m4/esl_avx.m4 seems to be trying to test for that, but for some reason it was passing on the macos VM from travis-ci, which only supports AVX 1.0. I made some modifications to try to get that case, but I'm waiting for travis-ci to be less busy and start running the tests again to see if anything changes.

horta commented 5 years ago

By the way, the test exercise 6 [ bitfield-utest] sometimes fail: https://travis-ci.org/EddyRivasLab/easel/jobs/549790819 I haven't had time to look into that yet.

cryptogenomicon commented 5 years ago

Regarding the travis-ci suggestions - thanks, but same explanation as yesterday. I'm not prepared to take on this level of complexity right now, but will consider it for the future.

Thanks for the heads up on travis.org vs. .com. I'll switch to travis.com in a sec here.

Regarding the AVX (and other vector ISA tests) - the code is correct as is. These suggested changes will break it. The autoconf tests are deliberately testing whether the compiler supports a vector ISA, not whether the processor does. Our code uses runtime dispatching to choose an appropriate ISA for the current processor at runtime. It is expected behavior that we would detect and compile more ISAs than the build platform's processor supports.

cryptogenomicon commented 5 years ago

Turns out that travis-ci.org accounts don't migrate to travis-ci.com automatically yet. We'll stay with travis-ci.org until travis-ci is further along in their plans for the switchover.

cryptogenomicon commented 5 years ago

Found the esl_bitfield_utest bug; fixed in 2f029db. Thanks!