[Twisted-Python] T9217 / PR1052: Wheels, wheels, and more wheels

Kyle Altendorf sda at fstab.net
Wed Sep 5 06:44:09 MDT 2018


On 2018-09-05 03:25, Glyph wrote:
>> On Aug 29, 2018, at 10:13 AM, Kyle Altendorf <sda at fstab.net> wrote:
>> wheel links:
>> https://github.com/twisted/twisted/pull/1051#issuecomment-416743261 
>> (and next comment)
>> 
>> Now that I've got the wheel builds happening I figured it'd be good to 
>> try them out on 'real' machines.  Turns out we get a failure on 
>> twisted.cred.test.test_strcred.SSHCheckerTests.test_isChecker for at 
>> least the two checks I've done so far (Windows and OSX).  I haven't 
>> done more than a cursory look at that yet, but it's on the list to 
>> understand and resolve.  More testing would of course be welcome.  
>> Real world, just trial Twisted's own tests, whatever would be 
>> appreciated if you are interested.
>> 
>> failures with wheels:
>> https://github.com/twisted/twisted/pull/1051#issuecomment-416977723
> 
> It's not clear to me that we have any test environments that accurately 
> test what happens after you install from PyPI.  If we could build these 
> wheels and then actually run tests on installing them that would be a 
> big step forward in test fidelity!  But given the current state of the 
> art, I'd be happy if they just got built from the same code that passed 
> our tests in existing configurations.

cibuildwheel does have an option to provide a test command.  If we did 
that would we replace the existing tests or supplement?  If 
supplementing that will presumably be a significant increase in build 
times.  Especially if we did it for all wheels.

So, how much of a build time hit do we want to take?

>> I hear that Travis OSX builds were really slow, but from what I can 
>> see Circle isn't doing any OSX (other than what I added).
> 
> The issue for addressing this is 
> https://twistedmatrix.com/trac/ticket/9445 if you'd like to pick up 
> where Adi left off.  It's probably just resolving some conflicts, 
> resubmitting for review, and bugging people to get it through the 
> process :).

https://github.com/twisted/twisted/pull/1056/files

It looks like the builds I added in my wheel PR, for whatever that is 
worth.  Well, other than picking xcode v9 vs me picking v10 which 
neither of the PRs use anyways.  I added the requires over in the wheel 
PR as well in case it ends up saving a useful amount of our OS X quota.

>> Now that I've got something rough in place, are there any opinions 
>> about how this should work?  I don't know the present release workflow 
>> so I don't know if we'd want an automatic push to PyPI on tags 
>> (probably not)
> 
> I definitely want this.  This is really the whole point, what we're 
> trying to get to :).  Why don't you think we want this?

Uhm...  hmm...  *shrug*  I figured someone might want to do a final spot 
check or have manual intervention for a real release.  You can't replace 
a file on PyPI so...  but sure, I didn't mean to argue against 
automation.

Here's one spot I did automatic deployment off of Travis to PyPI.

https://github.com/altendky/gitignoreio/blob/aeeb9546b6f27f411b191699d3625b4d0a08e7cf/.travis.yml#L11-L19

Pretty straightforward though I think it does the wheel build which 
isn't what we'd really want.  I'd have to check on how to deploy 
existing wheels as well as those from OS X and Windows.  I'd suggest a 
separate PR?  I mean maybe it'd be easier to get one PR reviewed than 
two but that doesn't seem like a great reason to mash things together.

Cheers,
-kyle




More information about the Twisted-Python mailing list