Edgewall Software

Opened 9 years ago

Closed 6 years ago

#606 closed enhancement (fixed)

Automate releases with Travis CI deploy

Reported by: hodgestar Owned by: hodgestar
Priority: blocker Milestone: 0.8
Component: Infrastructure Version: devel
Keywords: Cc:

Description

Currently releases are extremely manual. We should use Travis CI to automate the building and uploading to PyPI. Eggs are out. Wheels are in.

Change History (12)

comment:1 Changed 9 years ago by rjollos

  • Milestone changed from 0.7 to 0.8

comment:2 follow-up: Changed 8 years ago by rjollos

I'd like to have wheels on PyPI that are compiled with speedups, so that we can more reliably install Genshi for the Trac project. If you could give me package maintainer permissions on PyPI I would be happy to create the wheels, or help with the Genshi 0.8 release in any other way. I'm a developer for Trac.

comment:3 in reply to: ↑ 2 Changed 8 years ago by hodgestar

I'ved added rjollos as a maintainer of Genshi on PyPI. Please confirm this is you and thank you for volunteering to help out. Wheels would be awesome!

comment:4 Changed 8 years ago by rjollos

Yeah, that's me. I see Genshi listed in my packages on PyPI now.

I'd like to build wheels for Genshi 0.6, 0.6.1 and 0.7. I'll take a look at GenshiDev/ReleaseCheckList and will upload the wheel packages to edgewall FTP server and ask for feedback/testing before uploading to PyPI. Thanks!

Last edited 8 years ago by rjollos (previous) (diff)

comment:5 Changed 8 years ago by hodgestar

Perfect! :D

Welcome aboard. :)

comment:6 Changed 8 years ago by rjollos

Do you know if the wheel will need to be built on each supported platform? Maybe it needs to be built on each platform because there is a C extension? I built the wheel on OSX 10.12.3 and the wheel package is: Genshi-0.7-cp27-cp27m-macosx_10_12_x86_64.whl.

To get the developer docs built I had to patch epydoc.

Last edited 8 years ago by rjollos (previous) (diff)

comment:7 Changed 8 years ago by anonymous

Yes, the wheel will need to be on each supported "platform", where "platform" can be frustratingly granular.

Python 3.2 defined a fixed ABI which helps somewhat, and the PEP explains some of the issues -- https://www.python.org/dev/peps/pep-0384/.

Apologies if this is a surprisingly messy problem. :|

comment:8 Changed 8 years ago by rjollos

Thanks, I hadn't considered that aspect. For the Trac project we can build one wheel for all platforms, but it's all native Python code.

To start with, I'll build Genshi for Python 2.7 with Windows x86 and x64, Linux and OSX. That will at least meet the needs of the Trac project. After that, maybe my time would be better spent helping with the next Genshi release and then building wheels for all those platforms for the supported Python versions? Is there a list of things to be done for the next Genshi release?

comment:9 Changed 8 years ago by hodgestar

Some wheels are better than none, so +1.

I'll try come up with a list of tickets that need to be addressed before a next release and post them to a milestone.

comment:10 Changed 8 years ago by hodgestar

I've gone through the various milestones and moved everything I think is needed into milestone 0.8 (https://genshi.edgewall.org/query?milestone=0.8&group=status&order=priority).

comment:11 Changed 6 years ago by hodgestar

https://github.com/edgewall/genshi/pull/2 added the deploy section to the travis builds. Next step is to do a test release of 0.7.1.

comment:12 Changed 6 years ago by hodgestar

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.