For my part:


Script/infra to generate branches
https://cpt.tamu.edu/gitlab/rasche.eric/docker-branch-generator/tree/master

Generated branches:
https://cpt.tamu.edu/gitlab/rasche.eric/generated-docker-branches/branches/recent

Need to patch up a couple issues, but I'm pretty much done on my end. Whenever you're ready, we can move this to github and someone can just run a cron job once a month. :)


22.07.2014, 15:35, "Björn Grüning" <bjoern.gruening@gmail.com>:

 :) great I like it!
 Will do it shortly!

 Am 22.07.2014 15:36, schrieb Eric Rasche:
  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#L51.
     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