Differences between revisions 2 and 3
Revision 2 as of 2009-06-19 05:43:48
Size: 221
Editor: CraigCitro
Comment:
Revision 3 as of 2009-06-19 06:01:31
Size: 2099
Editor: CraigCitro
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
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 ===
Line 9: Line 21:
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.
Line 10: Line 30:

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.

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.