Hi Björn, 22.07.2014, 14:26, "Björn Grüning" <bjoern.gruening@gmail.com>:
Hi Eric,
That sounds like a pretty good idea. If there was a pre-built image available for whatever release I wanted to test against I could just cache it and (hopefully) get my tests running a bit faster. I'm not sure if anyone else is already doing this?
Also, I remember there being mentioned pre-building docker images for each release of Galaxy, which would accomplish something similar, but I'm not really sure how that's being handled. I think Björn's Docker image is kept up to date with Galaxy stable each time it's built https://github.com/bgruening/docker-recipes/blob/master/galaxy/Dockerfile#L5.... So, this could be handled by modifying his Dockerfile to build Galaxy at whatever tagged release you want to test against. I will try hard to create with every Galaxy stable release a new Galaxy
docker image. You can create a github branch with a specific tag, that will end up as a new tagged version of the main Galaxy Docker image. Try hard to create? No no, what can we do to automatically create these? I'm not so familiar with how one might build a galaxy release specific docker image, but if you can provide a generalized process, let's stick it in a CI server/cron job somewhere and never worry about it again! The hardest part is to remind myself ;) The procedure is:
1) create a new branch for the galaxy-docker github account 2) change the version string in the git-clone command in the Dockerfile 3) login into the docker-index site and re-associate a new tag to the new branch ... click the build button
I could simplify that a little bit if the galaxy-docker image has its own repository. The docker-index has a build-on-push feature. But currently every image (all branches) are build again. There is no way to only trigger one branch build. Until that is fixed in the docker-index I will do it manually.
So you see any improvements in that setup? Let me know!
Naturally! 1 and 2 could be automated out with a script. 3 could probably be fixed with a script, but that requires parsing pages/crafting cURL queries and that's less pleasant. Let's have a new repository just for galaxy-docker images. I'll write up a script to check for updates and create+push branches as needed, we can place this in a cron/CI job and have it email you whenever it's run to say "hey, associate the branch/trigger a build"
Cheers, Bjoern
One downside to docker is that you need to get it installed on your CI server, which may or may not be possible (needs a very recent kernel for example). So true. SL7 for the win! :)
Docker, Docker, Docker! Bjoern
Aaron
On Mon, Jul 21, 2014 at 3:12 PM, Eric Rasche <rasche.eric@yandex.ru> wrote:
Hi Aaron,
Yeah, absolutely understandable. I want my tools tested early and often. I abuse my CI server for everything, especially for building and packaging software. In this case I was imagining that I might have it produce an archive on every tagged release, as well as producing a "daily" archive. All of these would be available on some ftp/http server somewhere with symlinks for latest archives (e.g. galaxy-latest-release.tgz and galaxy-latest-daily.tgz). Would that work for your use case as well?
Eric
On 07/21/2014 03:02 PM, Aaron Petkau wrote:
Hello Eric,
Your right about that, downloading the archive, installing all the eggs, and then updating the database takes a bit of time (especially if you're like me and like re-running tests on nearly every change you make :P). I think it would be cool to have a pre-package Galaxy for integration testing which is quick to setup. I once thought of downloading Björn's Docker image from Galaxy Bootstrap and using it that way, but thinking is about as far as I got with that one. One problem I could see is it would have to be re-built on every release of Galaxy you want to test against (whereas mercurial cloning/pulling makes sure you're always up to date with the latest code).
Aaron
On Mon, Jul 21, 2014 at 2:45 PM, Eric Rasche <rasche.eric@yandex.ru <mailto:rasche.eric@yandex.ru>> wrote:
Hi Aaron,
Good points, I was considering using galaxy bootstrap. This is mostly for the CI folk who want to download an archive, unpack it, and be ready to install/test their tools. The hg clone and egg/db steps seem like unnecessary overhead for this specific use case. Cheers,
Eric ___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: http://lists.bx.psu.edu/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Cheers, Eric -- Eric Rasche Programmer II Center for Phage Technology Texas A&M Univesity College Station, TX 77843 Ph: 4046922048