<div dir="ltr"><div>+1 to this.  MapStory has seen these breaking changes as well.  Pinning everything would help alleviate having to track down which dependency broke the build every time it happens.  It's happened several times just in the past few weeks.</div><div><br></div><div>Thanks.</div><div><br></div><div>Jeremiah Cooper<br></div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 19, 2017 at 5:54 PM, Travis Brundage <span dir="ltr"><<a href="mailto:tbrundage@boundlessgeo.com" target="_blank">tbrundage@boundlessgeo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>Recently I have seen some core GeoNode behaviour breaking due to changes in our dependencies. This isn't the first time it's happened. What happens is that we have many dependencies pulling in the latest version via >= in our requirements, but something changes which conflicts with current technology or otherwise is broken, causing core GeoNode to break as well.</div><div><br></div><div>In addition, I'd like for us to have consistency in regards to GeoNode and its sub projects in pypi. Establishing the pypi repo as consistent with the official repos for the dependencies will ensure changes are visible and (hopefully) reviewed. This will help at least partially with preventing broken dependencies. One possibility is introducing some automation here through a continuous integration tool, so there are regular builds to pypi straight off the repos in GeoNode. This method may help establish a consistent cycle and also ensure we're diligent about quality in changes to the code.</div><div><br></div><div>For the dependencies breaking, we can start pinning versions in our requirements (that is, using == instead of >= in requirements.txt). The upside of this is we will have consistent, expected behaviour that won't change due to updates. The downside of this is we won't necessarily have the most recent versions of dependencies, which we will want to occasionally update. I feel pinning versions makes sense, but we should make sure to update dependencies regularly. Before making this change, we should check what versions are actually being used and working with GeoNode, as >= will pull later versions, so simply doing a find+replace of >= to == won't be correct.</div><div><br></div><div>Cheers,</div><div>Travis<span class="HOEnZb"><font color="#888888"><br clear="all"><div><br></div>-- <br><div class="m_-2152115113677070337gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr">Travis Brundage<div>Software Engineer | Boundless</div><div><a href="mailto:tbrundage@boundlessgeo.com" target="_blank">tbrundage@boundlessgeo.com</a></div><div><a href="tel:(250)%20888-2820" value="+12508882820" target="_blank">250.888.2820</a></div><div>@boundlessgeo</div><div><img src="http://boundlessgeo.com/wp-content/uploads/files/boundless_sig.png"><br></div></div></div></div></div></div>
</font></span></div></div>
<br>______________________________<wbr>_________________<br>
geonode-devel mailing list<br>
<a href="mailto:geonode-devel@lists.osgeo.org">geonode-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/geonode-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/geonode-devel</a><br>
<br></blockquote></div><br></div>