← Back to team overview

canonical-ci-engineering team mailing list archive

Re: objections to uservice_utils project on pypi?

 

Hi,

On Wed, Apr 1, 2015 at 7:03 AM, Francis Ginther <
francis.ginther@xxxxxxxxxxxxx> wrote:

>
>
>> Or if it's going to break the API, expose it as a new, versioned method
>> instead.
>>
>
> Let's be sure to document a pattern for doing this in the developer
> playbook. We'll need to define some criteria for when a method is in
> development mode and can be changed vs make a new one. This is probably
> easy enough to define as when a service begins it's life as a production
> service.
>

I think there's a few things to consider here:

The review requirements for this are going to be more strict than they are
for our uServices. I don't want to scare people off developing new code for
the library (far from it!) but the bar will be higher for new
contributions. I plan on configuring tarmac to require two reviews, and (if
possible, no 'Needs Fixing' comments). In the beginning at least I'd like
to be one of the reviewers.

We can certainly document common patterns in the developers playbook, but I
think it will take a while for those patterns to become apparent.


<snip>

Regarding releases:

>
> A dedicated lp project and inserting this into our pip cache(s) sounds
> like the right place to begin. Publishing to pypi might make it a little
> easier to develop against if we automate the uploads, but I can see
> deferring this until we have a clearer usage.
>
>
Indeed. The problem with manually inserting into our pip-caches is that it
tempts us to insert <rando version I built locally>, which is not
reproducible.


The more I think about this the more I think we should release to pypi.
That way:

1) We get all our python dependencies in the same way.
2) We ensure we only ever deploy with a released version.
3) We release our goodies to the world, should anyone else want to use them
:D


I'm not sure how pypi handles groups of developers releasing somthing - I'm
in the testtools release team, so I know it _can_ do that, I just have to
figure out how.


Cheers,
-- 
Thomi Richards
thomi.richards@xxxxxxxxxxxxx

Follow ups

References