This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!
Project Description

Zest buildout stabilizer

Goal of this product: zest.stabilizer helps moving the trunk checkouts in your development buildout to tag checkouts in your production buildout. It detects the latest tag and changes stable.cfg accordingly.

It is at the moment quite Zest software specific in the sense that it is hardcoded to two assumptions/requirements that are true for us.

Requirement 1: split buildout configs

At Zest software, we’ve settled on a specific buildout.cfg setup that separates the buildout.cfg into five files:

unstable.cfg
Trunk checkouts, development eggs, development settings.
stable.cfg
Tag checkouts, released eggs. No development products.
devel.cfg/preview.cfg/production.cfg
Symlinked as production.cfg. The parts of the configuration that differ on development laptops, the preview and the production system. Port numbers, varnish installation, etc. Devel extends unstable, preview and production extend stable.

zest.stabilizer thus moves the trunk checkouts in unstable.cfg to tag checkouts in stable.cfg.

Requirement 2: infrae.subversion instead of svn:externals

Our internal policy is to keep as much configuration in the buildout config. So we’ve switched from svn:externals in src/ to infrae.subversion. We extended infrae.subversion to support development eggs and to support placement in a different directory from the default parts/[partname]/.

Zest.stabilizer expects a specific name (“ourpackages”). Such a part looks like this:

[ourpackages]
recipe = infrae.subversion >= 1.4
urls =
    https://svn.vanrees.org/svn/reinout/anker/anker.theme/trunk anker.theme
    http://codespeak.net/svn/z3/deliverance/trunk Deliverance
as_eggs = true
location = src

What zest.stabilizer does

When you run stabilize, zest.stabilizer does the following:

  • Detect the [ourpackages] section in unstable.cfg and read in the urls.
  • Remove “trunk” from each url and add “tags” and look up the available tags in svn.
  • Grab the highest number for each.
  • Remove existing [ourpackages] in stable.cfg if it exists.
  • Add [ourpackages] part into stable.cfg with those highest available tag checkouts in it.
  • Show the “svn diff” and ask you whether to commit the change.

Helper command: needrelease

Before stabilization, often a set of products first needs to be released. If you have multiple packages, it is a chore to check all the svn logs to see if there’s a change since the last release.

Run needrelease and you’ll get the last svn log message of every detected package.

Installation

Installation is a simple easy_install zest.stabilizer.

zest.stabilizer requires zest.releaser, which is installed automatically as a dependency. Wow, more goodies!

Included programs

Two programs are installed globally:

  • unstable_fixup which currently only assists with moving src/* development eggs to an infrae.subversion part. At the end it prints instructions for further work that you have to do manually.
  • stabilize which takes the infrae.subversion part of unstable.cfg and finds out the latest tags for each of those development packages. It then adds a similar part to stable.cfg.

The development version of zest.stabilizer can be found at https://svn.plone.org/svn/collective/zest.stabilizer/trunk .

Changelog zest.stabilizer

1.4 (2009-04-01)

  • Depend on zest.releaser 2.0 or higher. [maurits]

1.3 (2009-04-01)

  • Fixed our code to work with the refactored zest.releaser (with more vcs support). [maurits]

1.2.2 (2009-02-16)

  • Typo fixed. [reinout]

1.2.1 (2009-02-16)

  • Moved to the collective svn. [reinout]

1.2 (2009-02-16)

  • Logging changes in history file now. [reinout]

1.1.1 (2009-02-11)

  • Small fix. -l doesn’t exist everywhere, but –limit does. [reinout]

1.1 (2009-02-11)

  • Added needrelease command that shows the last log message of every detected development package. Easy to see if one or more still need releasing. [reinout]

1.0 (2009-02-08)

  • First release on pypi. [reinout]
  • Fixed up documentation to make the product usable outside Zest. [reinout]

0.2 (2008-11-06)

  • Change the lines that are added in stable.cfg now that infrae.subversion 1.4 has been released. [maurits+reinout]
  • Add newline at end of contents before saving stable.cfg or unstable.cfg. [maurits]

0.1 (2008-10-23)

  • Extracting unstable eggs from [ourpackages] instead of develop section now. [reinout]
  • unstable_fixup adds [ourpackages] section in place of ‘develop =’ section. [reinout]
  • Added unstable_fixup script to check/perform common fixups that need to happen in unstable.cfg. [reinout]
  • Copied stabilize script out of zest.releaser. [reinout]

Credits

TODO tasks

  • Get a prettier message to add to the history file.
Release History

Release History

1.4

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0.dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
zest.stabilizer-1.4.tar.gz (8.7 kB) Copy SHA256 Checksum SHA256 Source Apr 1, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting