Related -- we run lein ancient as part of a lot of our builds so that we
can easily pick up dependencies with newer available versions.

On Tue Feb 17 2015 at 11:13:44 AM Michael Blume <blume.m...@gmail.com>
wrote:

> What we do at Climate is avoid SNAPSHOT builds. Every build gets a version
> string with timestamp and git commit. If an upstream library is changed,
> it's up to downstream maintainers to update their dependency on it. If you
> update a dependency and your build fails, you a) don't update your
> dependency just yet b) complain to the library maintainer that their new
> version breaks your project.
>
> On Tue Feb 17 2015 at 9:51:18 AM Rick Moynihan <rick.moyni...@gmail.com>
> wrote:
>
>> Hi all,
>>
>> At work, we use Jenkins to continuously integrate our Clojure projects
>> which are factored into both applications and a small number of
>> supporting libraries; all of which use Leiningen as their project
>> build tool.
>>
>> Leiningen builds each project, and runs its tests; and then if they
>> pass it lein installs the project jar into the local ~/.m2 repo and
>> triggers any dependent builds to start.  The dependencies then start
>> building and pick up the latest SNAPSHOT build from the ~/.m2
>> directory.
>>
>> This works ok; but it has a relatively major flaw, which is that just
>> because a project passes its local tests; it doesn't mean that it
>> hasn't broken an upstream library.  When this happens the broken
>> library is left in the shared ~/.m2 directory - breaking other builds
>> and generally lying around causing havoc.
>>
>> Fortunately this rarely happens in practice; but it is a potential
>> cause of hard to diagnose (unrepeatable build) problems - especially
>> when using snapshot builds - which is what I think we want to use for
>> tracking branches until we
>>
>> We currently use the Jenkins leiningen plugin, but I don't think it
>> supports a more sophisticated setup than this.
>>
>> I was wondering if anyone with experience of running robust CI builds
>> (with Jenkins) might have any ideas about to solve this in a more
>> robust manner??
>>
>> Many thanks,
>>
>> Rick
>> --
>> http://twitter.com/RickMoynihan
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to