Differences between revisions 3 and 48 (spanning 45 versions)
Revision 3 as of 2009-06-19 06:01:31
Size: 2099
Editor: CraigCitro
Comment:
Revision 48 as of 2022-03-31 02:28:10
Size: 0
Editor: mkoeppe
Comment: Outdated
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= 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:

 * `sage -merge -c` or `sage -merge --candidates`

   List all candidates for merging, i.e. all trac tickets with positive review.

 * `sage -merge <ticket_number>`

   Download patches from trac for the given ticket number, merge them, run tests, and report the results.

=== sage -merge todo list ===

== 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:

 * both mandriva machines will fail trying to build python, because the python spkg won't build under nohup. Start a screen session, ssh into both boxes, and restart it by hand -- or, better yet, diagnose and fix the problem.

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.

== Release checklist ==

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

 * Check that sage starts (you can use `local/bin/sage-starts` or check by hand)
 * Check that `notebook()` works
 * Check that `notebook(secure=True)` works
 * Check that `wiki()` works
 * Check that the documentation builds
 * Check that `sage -startuptime` works, and isn't worse than the last release.