1. stackless-dev
  2. Untitled project
  3. stackless

Wiki

Clone wiki

stackless / ReleaseProcess

Release Process

This page is intended to document the release process of Stackless Python.

Checklist

  1. Run the Python standard library unit tests with CPython to get a base line.
  2. Compile with STACKLESS_OFF, run Python standard library unit tests.
  3. Compile with STACKLESS.
  4. Run the Python standard library unit tests with debug and regular builds.
  5. Run the Stackless Python unit tests with debug and regular builds.
  6. If compiling and running on Windows, repeat on Linux.
  7. Update Stackless/changelog.txt: add the release date, add missing changes.
  8. Tag the release.
  9. Push to bitbucket.
  10. Generate a tarball using Anselm's zip archive generation script in stackless/Stackless/Tools/create_source_archive.sh. See below for details.
  11. Upload to stackless.com/binaries/.
  12. Find someone to generate the 32 & 64 bit msi installers. Anselm can do that.
  13. Find someone to generate the MacOS installer. Do not block on this step if not possible.
  14. Announce: update the download page and archived downloads page.

Details

How to Create a Stackless Python Source Code Archive

Unfortunately it is not enough to simply run hg archive .... The reason is, that the archive contains a few generated files together with their source files:

  • Include/Python-ast.h
  • Python/Python-ast.c

Sources are in Parser/.

Building theses files requires Python itself; a classical chicken and eggs problem. Therefore it is essential that the timestamps of generated files are newer that the timestamps of their sources after unpacking the source archive. This requires not only to touch generated files prior to packaging but also to control the order of archive members.

Use the script stackless/Stackless/Tools/create_source_archive.sh to create a source archive.

Updated