phnmnl / container-galaxy-k8s-runtime

PhenoMeNal runtime for Galaxy running inside a container orchestrator
Apache License 2.0
5 stars 18 forks source link

Feature/check tools #257

Closed pkrog closed 6 years ago

pkrog commented 6 years ago

Create check-tools script for testing tools, containers and workflows defined. The script is run in Travis-CI, and report sent to me only. If you wish to receive the reports, add your email into .travis.yml file, or ask me to do it.

ilveroluca commented 6 years ago

I think it would be cool to have this run on Jenkins as well, as a downstream project of container-galaxy-k8s-runtime

pkrog commented 6 years ago

Yes @ilveroluca , @sneumann asked me that already. However I'm still fighting with Jenkins about Perl module installation, see http://phenomenal-h2020.eu/jenkins/job/check-tools/71/console.

pcm32 commented 6 years ago

Neither Jenkins master nor slaves will have Perl (and I wouldn't want to revamp them in the middle of the release with some disastrous consequence of not working again). If you want to do something like this in Jenkins, I would suggest running the tests inside a container where you put all needed Perl deps.

Beautiful work @pkrog!

pkrog commented 6 years ago

Hi @pablo, but I could also install the perl requirements inside Jenkins script field. That's what I'm trying to do. Maybe I'll move that later into an install script to run into container-galaxy-k8s-runtime.

pkrog commented 6 years ago

Mmmh... maybe I was doing bad things using sudo so ?

pcm32 commented 6 years ago

I don't think you should do one or the other. Please don't install packages on the slaves config, it could break other things. I wouldn't add any more weight to the Galaxy container, this is not needed for Galaxy. Simply setup a new container with all your dependencies, and use Jenkins variables that tell you about the git repo and revision to check it out inside that running container (so the container needs to have env variable arguments that you can set from outside on runtime and the logic and software to fetch from github the tarball of that particular commit for container-galaxy-k8s-runtime repo) and run your tests there inside that container. Then you can execute that container as a dependent job in Jenkins to the Galaxy one, and fail based on output or container exit code. The slaves will be able to run containers with no issues.

pkrog commented 6 years ago

That's a lot of work for just running one script that runs already fine on Travis-CI. I think I'll cancel this Jenkins project.

pcm32 commented 6 years ago

I agree, if already in travis I don't see any immediate need to run on Jenkins.