Sage Release Management

These are some notes on various aspects of the Sage release process.

sage -merge/sage-apply-ticket

This is a new script written by Craig Citro and Nick Alexander. It tries to automate much of the process of downloading patches from trac, merging them, and running doctests. Here's a quick rundown of usage:

Notes

More options

Standard use cases

sage -merge todo list

http://trac.sagemath.org/sage_trac/raw-attachment/ticket/6273/trac_6273.patch
http://trac.sagemath.org/sage_trac/raw-attachment/ticket/6273/trac_6273-replacement.patch
http://trac.sagemath.org/sage_trac/raw-attachment/ticket/6273/trac_6273_new.patch

should be

http://trac.sagemath.org/sage_trac/raw-attachment/ticket/6273/trac_6273.patch
http://trac.sagemath.org/sage_trac/raw-attachment/ticket/6273/trac_6273-replacement.patch
http://trac.sagemath.org/sage_trac/raw-attachment/ticket/6273/trac_6273_new.patch
# Replaces both previous

(also, strongly encourage people to add comments to files when uploading in trac)

Building on boxen.math

Put a source tarball in /home/wstein/farm/src, make sure you're logged into boxen as wstein, and run farm/go. The results will appear in farm/out/<version_number>/ as they complete.

Known issues:

Use farm/go_skynet to run this on skynet, and the files appear in /home/wstein/build/logs/<version_number>. As of 4.0.2, eno and cleo will work fine, but the rest will fail. You can restart the builds on menas, cicero, and iras by hand, and they should complete just fine.

Releasing source tarballs and binaries

You can use sage -sdist <version> to create a new source tarball, and sage -bdist <version> to create a new binary. These scripts are very particular about the formatting of version strings, see trac #6338.

NOTE: When cutting a new rc or alpha release, make sure to always produce binaries for sage.math. This also applies to any stable release -- several people will make use of these. The download page for 64-bit Linux contains a text file called sage-x.y.z-sage.math.washington.edu-x86_64-Linux.txt. This file lists directories on sage.math where sage.math account holders are able to get a copy of a binary specifically built for that machine.

NOTE: After an sdist, one needs to call sage -br to rebuild the library. This is annoying, and should be fixed.

Release checklist

Here's a list of things you want to make sure to do before every release: